我有一个带有下拉列表的 div。我试图禁用所有 div。我成功了,但我无法禁用下拉列表。此 div 由名为 cb3 的选择标签组成。我与 Knock Out 合作。(您看到的所有数据绑定)。条件值:hete.selectedvalue,enable:format.selectedvalue()!='xxx' 破坏我想做的禁用。
<div class="DivStyle1" data-bind="disableByRole: hetel.readOnlyValue">
<div id="div-for-cb3" class="div-for-combo poscombo3"">
<select id="cb3" onchange="onSelectChange(this.id, this.options[this.selectedIndex].innerHTML)" dir="rtl" class="SelectStyle3" data-bind="options: hete.defaultValue,value: hete.selectedvalue,enable:format.selectedvalue()!='xxx' "><option value="x1">x1</option><option value="x2">x2</option><option value="x3">x3</option><option value="x4">x4</option></select>
<span id="label-for-cb3" class="label-for-combo" data-bind="text:hete.selectedvalue"">x4</span>
</div>
<span class="SpanStyle3">:hete</span>
<img id="hetelIMG" onclick="ChangeImg('hete','#heteIMG')" data-bind="attr:{src: myview.hete.readOnlyUrl}" class="ImgStyle3" " src="./idle.png">
</div>
在其他 js 文件中:
ko.bindingHandlers.disableByRole = {
update: function(element, valueAccessor, allBindingsAccessor) {
var value = valueAccessor();
var allBindings = allBindingsAccessor();
var valueUnwrapped = ko.utils.unwrapObservable(value);
var isDisabled = valueUnwrapped == 'true'
if (isDisabled)
$(element).find('*').attr('disabled', 'disabled')
.prop('onclick', false)
.css('opacity',0.7);
}
};
只有选择标签没有被禁用......为什么?