Grails gsp中的动态生成期权

Grails gsp中的动态生成期权,grails,Grails,我正在尝试在GSP文件中生成动态选择项。但不知怎么的,它没有按我想要的方式做,因为它给了我一个“ 我试图构建的方式: <select name="type" id="type"> <option value="CHINESE">Chinese Food</option> <option value="JAPANESE">Japanese Food</option> <option value="KOREAN

我正在尝试在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>
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>'

var foodTypes=”是的,您可以不使用javascript直接执行:

<g:select name="type" from="${food.type.FoodType?.values()}" value="${name}"
      optionKey="name" optionValue="description"/>

您可以检查:

或者,如果需要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>'

var foodTypes=”您必须尝试。但我认为是的。它可以生成,但不起作用,因为它在javascript中。为什么需要javascript?因为当我点击一个按钮时,javascript会创建一个动态表单(
html+=…
)并将html添加到页面中也许你需要更改默认编码,但要注意安全问题
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>'