【发布时间】:2014-03-19 14:14:43
【问题描述】:
早安,
我有一个类似这样的对象的场景:
{
options: [{},{},{}], //array of objects
selected: [], //array of selected objects
multiselect: false, //determine if one or multiple values should be selectable
}
我想把这个对象绑定到模板中的一个select元素上,如下:
<select data-bind="selectedOptions: selected, options: options, attr: { multiple: multiselect }"></select>
我的希望是,即使它是单个项目选择列表,它也会将值推送到选定的数组中。 不幸的是,非多选列表上的 selectedOptions 似乎没有默认值到数组中:
这是一个显示我的意思的小提琴: http://jsfiddle.net/LkqTU/15444/
请注意,在第一个选择列表中的选项被选中之前,第一个显示的值为 0。
是否可以直接更改此功能?我不希望用其他 javascript 将第一个值推送到数组中(在某些情况下,我可能根本不会渲染选择对象,因此必须使用广泛的逻辑)。 创造价值的方法怎么样:而不是在数组上推送/弹出?
希望在我必须编写自定义绑定或某种东西之前有一些简单的东西。
【问题讨论】:
-
你想在 selectedOption 中推送每个选定的值是对的吗?
标签: arrays knockout.js