我对 ng-disabled AngularJs 指令有疑问,它在 chrome 中工作良好,但在 IE 9 中不起作用,任何使其工作的解决方案将不胜感激。
主要.html
<select kendo-drop-down-list k-data-text-field="'text'"
k-option-label="'Select'" k-data-value-field="'id'"
k-data-source="assessmentOptions" name="riskAssesLevelLookupCode"
required id="riskAssesLevelLookupCode"
maxlength="256"
ng-attr-disabled="{{disableAssessmentType? 'disabled': ''}}"
ng-model="riskAssessmentDTO.riskAssesLevelLookupCode"
></select>
我目前遇到同样的问题ng-disabled
。不幸的是,我能想到的唯一解决方法是处理ng-disabled
在控制器中。所以在你的情况下:
<select kendo-drop-down-list k-data-text-field="'text'"
k-option-label="'Select'" k-data-value-field="'id'"
k-data-source="assessmentOptions" name="riskAssesLevelLookupCode"
Required id="riskAssesLevelLookupCode"
maxlength="256"
ng-attr-disabled="checkForDisabled()"
ng-model="riskAssessmentDTO.riskAssesLevelLookupCode">
</select>
在控制器中:
checkForDisabled() {
if(disableAssessmentType) {
return "disabled";
} else {
return "";
}
}
不过,这并不能保证 IE9 上的正确行为。就我而言,我试图避免ng-click
事件。所以我设置了一个标志false
当设置禁用并根据该标志我调用该函数时。像这样的东西:
<button ng-click="callMethod()" ng-disabled="checkDisabled()">
Click me if Im enabled
</button>
控制器:
checkDisabled() {
// Let's say it's disabled
$scope.isDisabled = false; // set a global flag
return false;
}
callMethod() {
if($scope.isDisabled) {
//disabled, do nothing maybe handle an error?
} else {
//functionality when it's enabled
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)