Изменить атрибут значения флажка на основе проверенного значения с помощью Knockout JS

Я пытаюсь установить флажок и отправить значение YES или NO в моей представленной форме, база, если проверено или нет, но значение не обновляется, вот мой код:

self.checkbox = ko.observable("No");
    self.is_checked = ko.computed({
        read: function (data) {
            return false;
        },
        write: function (data, event) {  self.is_checked() ? self.checkbox('Yes'):  self.checkbox('No');}

    });

data-bind="checked: is_checked, checkedValue:checkbox"

любые подсказки или ссылки для чтения, пожалуйста.


person UserEsp    schedule 30.10.2019    source источник


Ответы (1)


Ваша вычисляемая функция read должна возвращать true или false, поэтому пользовательский интерфейс обновляется привязкой checked, и вы можете полностью удалить checkedValue (checkedValue обычно имеет смысл использовать только с радиоэлементами).

self.checkbox = ko.observable("No");
self.is_checked = ko.pureComputed({
  read: () => self.checkbox() === "Yes",
  write: (v) => self.checkbox(v ? "Yes" : "No")
})
data-bind="checked: is_checked"
person caseyWebb    schedule 30.10.2019