如何在 Groovy 服务器页面 (gsp) 中禁用 select 中的特定选项

How to disable specific options in a select in Groovy Server Pages (gsp)

我的 gsp 中有以下 select 标签,它工作正常。

<q:select id="myItem" 
      name="myItem" 
      from="${items}" 
      optionKey="id" 
      value="${item?.id}"
      optionValue="${{it?.name)}}"
      noSelection="${['': '']}" />

但我需要根据其状态属性禁用 select 中的几个选项。

items = [{
          id: 1,
          name: 'test',
          status: 'available'
         },
         {
          id: 2,
          name: 'john',
          status: 'booked'
         },
         {
          id: 3,
          name: 'sans',
          status: 'available'
         }];

我希望状态为 booked 的选项项显示为只读或禁用。如何实现。

您只需添加一个 optionDisabled 属性,例如:

optionDisabled="${{it?.status == 'booked'}}

给你的 <g:select>.

编辑:对于任何稍后来到这里的人,请注意下面的@HansMaulwurf 评论,指出您还需要使用 optionKey