我试图在我的GSP文件中构建生成动态选择项。但不知怎的,它并没有按我想要的方式行事,因为它给了我一个""?
我试图建立的方式:
<select name="type" id="type">
<option value="CHINESE">Chinese Food</option>
<option value="JAPANESE">Japanese Food</option>
<option value="KOREAN">Korean Food</option>
</select>
它以""
<select name="type" id="type">
" <option value="CHINESE">Chinese Food</option><option value="JAPANESE">Japanese Food</option><option value="KOREAN">Korean Food</option>"
</select>
javascript代码:
var foodTypes = '<%
def f = "";
food.type.FoodType?.values().each() {
f += "<option value=\""+ it.name() +"\">" + it.description + "</option>";
}
out << f ;
%>';
html += '<select name="type" id="type"> ' + foodTypes + ' </select>'
还是有更好的方法?
答案 0 :(得分:0)
是的,你可以直接做,不用javascript:
<g:select name="type" from="${food.type.FoodType?.values()}" value="${name}"
optionKey="name" optionValue="description"/>
您可以查看:
http://grails.org/doc/latest/ref/Tags/select.html
或者如果您需要javascript,您可以这样做:
var foodTypes = '<%
def f = "";
food.type.FoodType?.values().each() {
f += "<option value='${it.name()}'\>${it.description}</option>";
}
out << f ;
%>';
html += '<select name="type" id="type"> ' + foodTypes + ' </select>'