选择带淘汰赛的所有单选按钮时,它无法识别输入

时间:2017-03-21 10:42:19

标签: javascript jquery knockout.js

这个fiddle使用纯jquery澄清事物和我的selectAll方法。

self.selectAll = function( data, event){
  $(".dataQueryRadioBtn").each(function() {
    $( this ).prop('checked', true );
  });
}

当您单击其中一个单选按钮,然后单击单击我时,将显示一条消息,显示单击的单选按钮的编号。现在,当您首先点击全选时,它不会显示每个单选按钮。只有你自己点击的人。为什么会这样?

1 个答案:

答案 0 :(得分:1)

问题是Knockout无法知道checked的{​​{1}}属性已被更改,因为您只为每个属性注册了<input>处理程序。

您可以通过triggering click事件轻松解决此问题:

click

但通常情况下,当您处于$(".dataQueryRadioBtn").prop('checked', false).click(); 的领域时(就像在您的viewModel方法中一样),您不应该依赖DOM元素(它是&#39; s应该依赖于视图模型而不是相反的元素来获取数据,而是明确地更改可观察值。

在你的情况下:

selectAll

请参阅Fiddle