2012-05-29 46 views
0

我想在自定義綁定中綁定禁用和CSS,而不是使用JQuery來分配類並禁用它。你能做到這一點中的自定義綁定沒有做$(element).attr('disabled', true).addClass('disabled');knockout.js並禁用自定義綁定

data_bind="enabled: classroomId(), css: { 'disabled' : !classroomId() }" 


data_bind="disable: { !classroomId() } 

ko.bindingHandlers.disable = { 
     update: function (element, valueAccessor) { 
      var disabled = ko.utils.unwrapObservable(valueAccessor()); 


       // Disable and Add Class to Button or Anchor Tag 

     } 
    }; 

回答

2

淘汰賽現在包含一個disable結合,反映了啓用一個,你可以使用jQuery或致電現有的CSS和殘疾人綁定(fiddle):

ko.bindingHandlers.myDisabled = { 
    update: function(element, valueAccessor) { 
     var value = ko.utils.unwrapObservable(valueAccessor()); 
     ko.bindingHandlers.css.update(element, function() {return { disabled: value }; }); 
     ko.bindingHandlers.disable.update(element, valueAccessor); 
    } 
}; 

HTML:

<input type="text" data-bind="value: name, myDisabled: !enabled()"/> 
+0

的永遠不會知道你可以訪問默認的自定義綁定這樣的,謝謝! –