将<select>绑定到knockoutjs中的数组?

时间:2015-08-03 04:35:50

标签: knockout.js

我在页面上有一个绑定到knockout observableArray的复选框列表。 当选中复选框时,knockout会将observableArray按预期更新为[123,345,456](如果选中该复选框列表中的三个选项) 然后它会激活一些通过数组的函数,然后做很多事情。 我的麻烦是我希望能够在使用复选框列表和&lt; select&gt;之间轻松切换。所以基本上单选和多选,使用相同的ko.observable ...... 这些额外的功能在它是扁平字符串而不是数组时不起作用。 当使用&lt; select&gt;时,有什么方法可以让observable作为单个值数组运行? 例如,使用此选择... &lt; select data-bind =&#34; value:myObservable&#34;&gt; 我想让myObservable中的选定值为: [&#34; 123&#34;](或[123]) 而不是一个普通的字符串 &#34; 123&#34;

1 个答案:

答案 0 :(得分:4)

您可以使用selectedOptions绑定代替value

<select data-bind="selectedOptions: myObservable">

如果您需要多个选择,可以使用multiple="true"

JsFiddle