这个fiddle使用纯jquery澄清事物和我的selectAll
方法。
self.selectAll = function( data, event){
$(".dataQueryRadioBtn").each(function() {
$( this ).prop('checked', true );
});
}
当您单击其中一个单选按钮,然后单击单击我时,将显示一条消息,显示单击的单选按钮的编号。现在,当您首先点击全选时,它不会显示每个单选按钮。只有你自己点击的人。为什么会这样?
答案 0 :(得分:1)
问题是Knockout无法知道checked
的{{1}}属性已被更改,因为您只为每个属性注册了<input>
处理程序。
您可以通过triggering click
事件轻松解决此问题:
click
但通常情况下,当您处于$(".dataQueryRadioBtn").prop('checked', false).click();
的领域时(就像在您的viewModel
方法中一样),您不应该依赖DOM元素(它是&#39; s应该依赖于视图模型而不是相反的元素来获取数据,而是明确地更改可观察值。
在你的情况下:
selectAll
请参阅Fiddle