【问题标题】:How to limit a multiple selection of a <g:select>如何限制 <g:select> 的多项选择
【发布时间】:2018-01-09 11:35:35
【问题描述】:

我想将多选限制为 1,因为我想要这种格式的列表。我想始终查看所有列表并且不想要下拉列表,如果我退出 multiple="multiple" 会出现一个下拉列表。

所以,这是代码:

gsp:

<div class="field ${hasErrors(bean: cmd, field: 'subtypes', 'error')}">
    <label for="subtypes">
        <g:message code="requestSRO.requestSubtype.label"/>
    </label>
    <g:select name="subtypes" from="${requestSubtypes}" optionKey="code" multiple="multiple" optionValue="description" value="${cmd?.subtypes}" style="width: 100%;height: 100px" disabled="${!requestSubtypes ? true: false}"/>
</div>

我认为&lt;g:select&gt; 没有设置最大选择限制的属性。

【问题讨论】:

  • 为什么要使用 multiple="multiple" 如果您只想选择 1 个选项,请将其删除。

标签: grails gsp


【解决方案1】:

不要使用multiple="multiple" 更改选择的显示方式。而是将 size 属性设置为大于 1 的数字。

<g:select size="2" name="subtypes" from="${requestSubtypes}" optionKey="code" optionValue="description" value="${cmd?.subtypes}" style="width: 100%;height: 100px" disabled="${!requestSubtypes ? true: false}"/>

如果要显示整个子类型列表,可以设置size="${requestSubtypes.size()}"

【讨论】:

  • 如果我退出 multiple="multiple" 会出现一个下拉列表。是的,我想显示整个子类型列表,但是 size="${requestSubtypes.size()} 什么也没显示...
  • @JavierEscudero 作为一个简单的例子,&lt;g:select name="bar" size="${(18..65).size()}" from="${18..65}"/&gt; 在 Chrome、Safari 和 Firefox 中为我显示了完整的范围。
猜你喜欢
  • 2010-12-11
  • 1970-01-01
  • 1970-01-01
  • 2022-11-01
  • 2019-04-02
  • 1970-01-01
  • 1970-01-01
  • 2012-08-05
  • 2016-04-18
相关资源
最近更新 更多