嗨,当页面加载时,我有一个禁用所选选项卡的问题。我的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