一般的<select></select>下拉选择框中的选项是通过dom节点动态创建或者<option></option>静态创建,但是该元素也可以通过data-bind绑定,进行创建
例如
<body>
<select data-bind="options:optionsd" id="myselect">
<script>
var viewModule={
optionsd:["北京","上海","广州"]
};
//激活绑定
ko.applyBindings(viewModule);
</script>
</body>
解析:通过optionsd属性将["北京","上海","广州"]数组传给select节点中options属性,<option>标签的dom节点就会自动创建.
除了上面创建下拉选项外,也可以通过对象数组创建下拉选项
例如
<body>
<select data-bind="options: tilesets,optionsText: 'name',optionsCaption: '选择加载模型'"></select>
<script>
//视图模型
var viewerModel={
//该属性用于绑定数据
tilesets:[
{
name: '北京',
id: 'bj"
},
{
name: '上海',
id: 'sh'
},
{
name: '广州',
id:"gz"
}
};
</script>
</body>
分析:该方法与面的一种方法效果是相同的,<select>标签中的tileset绑定的是对象数组,optionsText: 'name'"指的是选项中显示的文本是name属性,optionsCaption属性显示选项的标题,没有选项的值
结果如图