我想提供某些元素,例如" select,input,textarea,button" readonly当指令的给定属性具有某个名称时。
此问题中的所有代码都缩小了以使其更清晰。
例如,有一个指令' 动态输入字段'关于这个元素:
<ui-select ng-model="controllerData.header.subsidiary"
theme="bootstrap"
class="googleSearch"
ng-disabled="quotationData.readOnly || isFieldDisabled('subsidiary')"
on-select="subsidiaryChanged(controllerData.header.subsidiary)"
dynamic-input-field="A">
<ui-select-match allow-clear="true" autofocus="true" placeholder="Subsidiary">{{$select.selected.description}}</ui-select-match>
<ui-select-choices repeat="subsidiary in presetData.subsidiariesChange | filter: {'description': $select.search}">
<div ng-bind-html="subsidiary.description | highlight: $select.search"></div>
</ui-select-choices>
</ui-select>
使用此指令,我想在具有特定名称的情况下禁用此ui-select元素(在这种情况下,它是&#34; A&#34; )
我尝试过很多可能性,但我找不到合适的方法来做到这一点。这是我的指令:
'use strict';
/**
* @ngInject
*/
module.exports = function() {
return {
restrict: 'A',
compile: function (element, attrs) {
if (attrs.dynamicInputField === "A" ) {
// I have tried all these options but it doesn't seem to disable the select element
// element.prop('disabled', 'disabled');
// element.attr("ng-disabled", 'isReadOnly');
// element.attr("ng-disabled", 'true');
// element.attr("ng-disabled", true);
// element.attr("ng-disabled", 'disabled');
// element.prop('readonly', true);
}
}
};
};
答案 0 :(得分:0)
我担心选择器无法正常处理“只读”。我建议你使用“禁用”,但在这种情况下,你似乎已经有了使用它的指令指令。