禁用选择的angular不起作用



嗨,当页面加载时,我有一个禁用所选选项卡的问题。我的js代码如下:

(function() {
  angular.module('chosenExampleApp', ['localytics.directives']).controller('IndexCtrl',function($scope) {
      $scope.testProp = "hello";
      $scope.myPets = ['cat'];
      $scope.pets = {
        cat: 'Cat',
        dog: 'Dog',
        hamster: 'Hamster'
      };  
    })
}).call(this);

Html正文如下:

<body ng-controller="IndexCtrl">
    Disable <input type="radio" ng-model="testProp" name="radiotest" value="hello"/>
    Enable <input type="radio" ng-model="testProp" name="radiotest" value="hello1"/>
  <select
    multiple
    ng-model="myPets"
    ng-options="value as label for (value, label) in pets"
    chosen
    ng-disabled="testProp=='hello'"
    style="width:200px;">
  </select>
</body>

由于testProp的值被设置为hello,我希望在页面加载时选择被禁用。但它在页面加载时是启用的。一旦我选择按钮启用,然后选择禁用,它的工作很好。请告诉我如何解决这个问题。

到Plunker的链接在这里

嗯,看起来像指令中的一个错误,即:它在初始化selected插件之前删除了disabled属性。这条线:

stopLoading = -> element.removeClass('loading').attr('disabled', false).trigger('chosen:updated')

是问题所在。应该是:

stopLoading = -> element.removeClass('loading').attr('disabled', attr.disabled).trigger('chosen:updated')

你可以修补源代码或等待/修复它,我在这里打开了这个问题。

这里是固定的demo: http://plnkr.co/edit/gFLbMpG93TtB9xQBNTfH?p=preview

最新更新