私<g:select>
のGSPの1つに次のようなものがあります。
<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>
しかし、私は何を得るのですか?選択したアイテムが2つになります。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>
value
たとえば、 inを「3」に変更すると<g:select>
、3番目のオプションが選択されますが、何らかの理由で49番目のアイテムも選択されます。
編集:さらに奇妙なことに、value
プロパティを49より大きい値に変更すると、選択が機能し、n番目のオプションのみが選択されます!
更新:<g:select>
どのように機能するかを詳しく説明した回答を投稿しましたが、タグの元の動作がまだわかりません。
誰かがここで何が起こっているのかについて何か考えがありますか?
Grailsバージョン: 2.2.0