产生比一个“选择”项目的更多我有一个<g:select>
我的GSP的一个看起来是这样的:单选择<g:select>默认情况下
<g:select id="location" name="criteria.location" from="${example.Location.list()}" optionKey="id" required="" value="1" class="many-to-one"/>
预期的结果会是这样的,对不对?
预期结果:
<select id="location" name="criteria.location" required="" class="many-to-one" >
<option value="1" selected="selected" >1st Location Name</option>
<option value="2" >2nd Location Name</option>
<option value="3" >3rd Location Name</option>
<!-- entries omitted -->
<option value="49" >49th Location Name</option>
<option value="50" >50th Location Name</option>
</select>
但我会得到什么?我结束了两个选定的项目。第49个选项也被选中,我无法想象为什么!我们绝对没有提到在我的代码值“49”的...
实际结果:
<select id="location" name="criteria.location" required="" class="many-to-one" >
<option value="1" selected="selected" >1st Location Name</option>
<option value="2" >2nd Location Name</option>
<option value="3" >3rd Location Name</option>
<!-- entries omitted -->
<option value="49" selected="selected" >49th Location Name</option>
<option value="50" >50th Location Name</option>
</select>
如果我更改了我的<g:select>
到“3” value
例如,第三个选项被选中,但无论出于何种原因,第49项仍然被选中。
编辑:更奇怪的,如果我的value
属性更改为一个值大于 49,选择作品和其中只有第N选项被选中!
更新:我发布了一个答案,详细说明了我如何得到它的工作,但我仍然不明白<g:select>
标记的原始行为。
有没有人对这里发生了什么有什么想法?
的Grails版本: 2.2.0
选项49被选为“1”,因为“1”的ASCII值为49(我只是用了一半的工作时间来跟踪相同的错误)唉唉唉唉嘿嘿 – sebnukem 2014-07-16 20:13:50