2013-10-18 107 views
2

我有这个奇怪的问题,我需要单击标签两次,单选按钮才能在下面选择。一旦它被选中,我可以选择一个不同的,然后回来,然后原来的工作只需点击一下。这只是每个单选按钮的初始点击,让我点击它两次。任何原因?knockout.js和标签内的单选按钮需要点击两次

<label class="radio"> 
    <input type="radio" name="answer" data-bind="value: id, checked: $parent.answerId, disable: $parent.hasError()" /> <span data-bind="text: text"></span> 
</label> 

回答

1

我使用它来代替它,value: id()

0

您正在使用一个值和一个checked属性,但您只需要一个或另一个。

<label class="radio"> 
    <input type="radio" name="answer" data-bind="checked: $parent.answerId, disable: $parent.hasError()" /> <span data-bind="text: text"></span> 
</label> 

如果您使用检查很难让一组单选按钮,只有一个选择,所以你可能要创建一个自定义可观察到处理值的读写喜欢这里描述 -

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

+0

但是,单选按钮是否需要一个值属性为检查工作? –

+0

检查绑定是一个双向数据绑定值属性,用于注册为布尔值的复选框 –

+1

对于单选按钮,KO将设置要检查的元素当且仅当参数值等于单选按钮节点的值属性。所以,你的参数值应该是一个字符串。 当用户更改选择了哪个单选按钮时,KO会将您的模型属性设置为等于所选单选按钮的值属性。 –