下最初是由其他用戶,RPNiemeyer發佈,但此刻我不能檢索答案自定義綁定。 反正你可以找到以下內容:
定製結合被稱爲「checkedWithInit」這裏的HTML元素的檢查屬性方便地設置爲真僅僅是明確的:
<input id="yourId" type="checkbox" value="yourValue" data-bind="checkedWithInit: yourInitialStateVariable" checked="true" />
自定義代碼是在元素的「初始化」事件處理程序的「覆蓋」
ko.bindingHandlers.checkedWithInit = {
init: function(element, valueAccessor, allBindingsAccessor, context) {
var value = valueAccessor();
if (element.checked) {
//if it is an array then push this value to it
if (value.push) {
value.push(element.value);
} else { //otherwise, just write the value
if (ko.isWriteableObservable(value)) {
value(element.checked);
}
}
}
//run the real checked binding's init function
ko.bindingHandlers.checked.init(element, valueAccessor, allBindingsAccessor, context);
},
//always run the checked bindings update function
update: ko.bindingHandlers.checked.update
};
我希望這有助於
瓦萊里奧
您是否以不同於我發佈的方式解決了您的問題?如果是這樣的話,你會介意分享嗎? – s0nica 2012-07-21 18:36:48