AngularJs ng-disabled在IE 9中无法解决任何问题?

前端之家收集整理的这篇文章主要介绍了AngularJs ng-disabled在IE 9中无法解决任何问题?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有使用ng-disabled AngularJs指令的问题,它在chrome中工作得很好,但它在IE 9中不起作用,任何让它工作的解决方案都将受到赞赏.

main.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
   }
}

猜你在找的Angularjs相关文章