KnockOut单选按钮observableArray

时间:2017-09-19 16:38:54

标签: html knockout.js

我知道要淘汰赛。

基本上我有:

 self.availableNumbers = ko.observableArray(['one', 'two', 'three', 'four', 'five', 'six'])

然而,当我尝试:

<input type="radio" data-bind="options: $root.availableNumbers(), value: number" />

它不会显示一组带有数组内值的单选按钮。

有什么建议吗?

jmcall10

2 个答案:

答案 0 :(得分:2)

我担心Knockout不会生成一组这样的单选按钮。您可能需要手动创建每个单选按钮并自己给它一个值,或者您可以尝试这样的事情:

<div data-bind="foreach: availableNumbers">
    <input type="radio" name="availableNumbersGroup" data-bind="attr: {value: $data}, checked: $root.selectedNumber" />
    <span data-bind="text:$data"></span>
    <br/>
</div>

这应该为observableArray中的每个可用数字生成一个单选按钮。您必须创建另一个observable来存储选定的值:

self.selectedNumber = ko.observable("one");

答案 1 :(得分:0)

如果我没错,options绑定仅适用于<select>标记。如果您想要一组单选按钮,最好的选择是使用foreach绑定