g:选择禁用属性无法正常工作

时间:2018-04-17 07:03:17

标签: grails drop-down-menu gsp disabled-input

在我的.gsp我有一个下拉选择选项。

<g:select id="id"
          name="name"
          disabled="${model.x == MyEnum.X}"   //<--- note here
          from="${MyEnum.values()}"
          optionValue="naturalName"
          noSelection="['': '']"
          value="${model?.x}"/>

此部分生成的.html如下所示 -

<select id="id" name="name" > //n <--- note here
    <option value=""></option>
    <option value="A" >A</option>
</select>

*注意:未生成disabled属性!

但是如果我首先将禁用属性的逻辑和值放在变量中 -

<g:if test="${model.x == MyEnum.X}">
    <g:set var="disabled" value="true"/>
</g:if>

然后,使用disabled属性 -

中的变量
<g:select id="id"
          name="name"
          disabled="${disabled}"     //<------here
          from="${MyEnum.values()}"
          optionValue="naturalName"
          noSelection="['': '']"
          value="${model?.x}"/>

按预期工作!我的意思是,在生成的disabled="disabled"文件中生成.html -

<select id="id" name="name" disabled="disabled"> //n <--- here
    <option value=""></option>
    <option value="A" >A</option>
</select>

有人可以解释这个不一致的行为,为什么.gsp无法处理 1'st 方法但 2'nd

我说不一致,因为在这两种方法中我都进行了相同的boolean检查,但.gsp在第二种方法上准确工作。

仅供参考:我的grails版本是2.4.4

1 个答案:

答案 0 :(得分:0)

我尝试了类似以下的工作:

<div style="text-align: right;margin: 5px 10px;">
    State: <g:select name="state" from="${testapp.State.values()}" value="${testapp.State.HR}" disabled="${1==1}"/>
</div>

那么,请你分享一个复制问题的示例应用程序吗?