淘汰赛单选按钮检查绑定

Knockout radio button check binding

我有 ViewModel,其中有 "Answers" 数组。 "Answer" 是具有 属性 'Selected' 的对象。在我的演示数组中,我有两个答案。对于第一个 Selected=1,对于第二个 Selected=0。我不知道为什么选择了两个单选按钮。 这是我的演示 link - https://jsfiddle.net/jwoscjot/3/ 我的绑定是

<input type="radio"  data-bind=" value: Selected, checked: Selected">

来自http://knockoutjs.com/documentation/checked-binding.html

For radio buttons, KO will set the element to be checked if and only if the parameter value equals the radio button node’s value attribute or the value specified by the checkedValue parameter.

您应该考虑将 selectedAnswerID 属性 添加到您的视图模型。

<!-- ko foreach: answers -->
    <input type="radio" data-bind="value: answerID, checked: $parent.selectedAnswerID">
<!-- /ko -->

如果您真的想将答案的 selected 状态保留为答案的一部分,那么您可以使用绑定的 checkedValue 部分。请注意,除非您提供某种 "clear" 按钮,否则您将无法 "deselect" 获得答案,因为单选按钮并非真正旨在支持 multi-select.

<!-- ko foreach: answers -->
    <input type="radio" data-bind="checked: selected, checkedValue: 1">
<!-- /ko -->