为<select>元素设置<option>

时间:2015-08-19 04:40:24

标签: javascript jquery html backbone.js

我通过数据库接受一个值。这是一个选择框,有两个离线和在线选项。 问题是这段代码不起作用: &lt; select value =“&lt;%= app.selectedValue%&gt;”&gt;  &lt; option value =“offline”&gt;离线&lt; / option&gt;  &lt; option value =“online”&gt; Online&lt; / option&gt; &LT; /选择&GT; select的value属性是从数据库中获取的。我使用下划线的模板引擎。 我从数据库中收到了正确的值,但没有在select元素上设置它。任何人都可以帮助我如何从数据库中获取值,然后动态地将值设置为select元素,以便选择正确的选项? PS:我知道selected =“selected”属性。问题是我如何动态地使用它。 PPS:使用Backbone Marionette JS框架在MVC结构中使用它。所以关于这一点的解决方案将非常受欢迎。

3 个答案:

答案 0 :(得分:2)

使用此代码可以使用

<select >
<option>select</option>
    <option value="offline" <%if(app.selectedValue =="offline"){ %>selected="selected"<%} %>>Offline</option>
    <option value="online" <%if(app.selectedValue =="online"){ %>selected="selected"<%} %>>Online</option>
</select>

另外,您可以使用jstl标签执行相同的操作

答案 1 :(得分:2)

另一个选择是从模板中取出逻辑并在Backbone视图的render方法(或Marionette的onRender事件)中处理它,例如:

// ... within the render() method
$("#out").html(this.template());  // render the template
$("#out").children("select").val(this.options.app.selectedValue);  // select option based on value

示例代码: http://codepen.io/anon/pen/vOwMPN?editors=101

答案 2 :(得分:0)

我不知道backbone.js,但我认为你应该这样做:

我希望app.selectedValue结果为true或false。

<select> 
 <option value="offline" selected="<%=app.selectedValue%>">Offline</option>
 <option value="online" selected="<%=app.selectedValue%>">Online</option>
</select>

因为我们需要使用selected =&#34; select&#34;在选项而不是选择元素本身。