在保持视图模型同步的同时取消选择单选按钮
我有一个广播组,允许用户(使用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'); } });
你这小提琴的叉子