在保持视图模型同步的同时取消选择单选按钮

我有一个广播组,允许用户(使用jQuery事件)取消选择以前的选择。 我正在尝试添加KnockoutJS来跟踪更改,但是viewmodal与UI不同步。 任何人都可以建议我如何让两者同步?

我的观看代码:

Linked Value:

相应的JS:

 $('#test input[type="radio"]').click(function (event) { var checked = $(this).hasClass('checked'); if (checked) { $(this).removeAttr('checked'); $(this).removeClass('checked'); } else { $(this).addClass('checked'); } }); var viewModel = { asd: ko.observable("a") }; ko.applyBindings(viewModel); 

这个小提琴可以在网上看到一个例子。

我认为这样做的方法很简单:

 $('#test input[type="radio"]').click(function (event) { if ($(this).val() === viewModel.asd()) { viewModel.asd(null); } }); 

更新小提琴

您无需担心已完成的已检查属性。 将您的活动更改为:

 $('#test input[type="radio"]').click(function (event) { var checked = $(this).hasClass('checked'); if (checked) { $(this).removeClass('checked'); } else { $(this).addClass('checked'); } }); 

你这小提琴的叉子