Я хотел бы реализовать контрольный список, в котором можно выбрать только один элемент за раз. В принципе, как группа переключателей, единственная разница в том, что элементы могут быть сняты. Я создал настраиваемую привязку для этого, она «работает» с точки зрения снятия отметки с переключателя, однако значение в модели viewmodel не получает значение null.Снимите галочку с помощью KnockoutJS
ko.bindingHandlers.radioCheckbox =
{
init: function (element, valueAccessor, allBindings) {
ko.bindingHandlers.value.init(element, valueAccessor, allBindings);
},
update: function (element, valueAccessor, allBindings) {
(function (element, valueAccessor, allBindings) {
$(element).mousedown(function(e) {
e.preventDefault();
if ($(this).is(':checked')) {
allBindings().checked(null);
} else {
$(this).prop('checked', true);
}
}).click(function(e) {
e.preventDefault();
});
})(element, valueAccessor, allBindings);
}
};
Существует аналогичный вопрос, однако принятое решение имеет тот же вопрос, как и мой. link