knockoutjs и jQuery mobile - флажок не обновляет значение - PullRequest
2 голосов
/ 19 сентября 2011

При привязке флажка к проверенной привязке и использовании jQuery mobile наблюдаемое не обновляется, если установлен расширенный флажок.

см. здесь

Я посмотрел код для обеих библиотек, и кажется, что knockoutjs привязано к событию click, но jQuery mobile только обновляет проверенное значение, которое не вызывает это событие, я искал хаки, чтобы попытаться заставить это работать без радости ..

У кого-нибудь есть обходной путь для этого?

1 Ответ

0 голосов
/ 19 сентября 2011

Возможно, есть лучший способ сделать это, но взгляните на это:

http://jsfiddle.net/vQRWQ/

Я добавил новый bindingHandler:

ko.bindingHandlers.checkbox = {
    update: function(element, valueAccessor) {

        var value = valueAccessor();

        var valueUnwrapped = ko.utils.unwrapObservable(value); 

        $(element).attr("checked", valueUnwrapped).checkboxradio("refresh");
    }
};

И использовал привязку «события»:

data-bind="event: {change: function(){ checked(!checked()); } }, checkbox: checked"
...