设置& lt; option>& lt; select>元素

setting <option> for <select> element

本文关键字:lt 元素 select option 设置      更新时间:2023-09-26

我通过数据库接受一个值。它是一个选择框,有离线和在线两个选项。

问题是这段代码不起作用:

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

select的value属性要从数据库中获取。我使用了underscore的模板引擎。

我从数据库收到正确的值,但它没有在select元素上设置它。谁能帮助我如何从数据库中获得值,然后动态地将值设置为选择元素,以便选择适当的选项?

PS:我知道selected="selected"属性。问题是如何动态地使用它。

PPS:在使用Backbone木偶JS框架的MVC结构中使用它。因此,非常感谢有关这方面的解决方案

另一种选择是将该逻辑从模板中取出,并在Backbone视图的render方法(或木偶的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

使用这段代码就可以了

<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标签来完成相同的操作

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

我希望app.selectedValue的结果为真或假。

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

因为我们需要在选项中使用selected="selected"而不是选择元素本身