我有类似的代码
选择
<select data-placeholder="Product" class="span4 chzn-select"
chosen="productsList" ng-model="selectedproduct"
ng-options="product.productName for product in productsList"
ng-change="fetchProductItems();"
ng-disabled="lock">
</select>
调用该功能的按钮
<button class="btn" ng-click="searchProduct();">Seach Product</button>
最后功能
$scope.searchProduct = function() {
$scope.lock =true;
}
问题是它没有禁用选择。
答案 0 :(得分:3)
我已经测试了你的代码,一切正常,所以有两个可能的问题:
A)控制器以某种方式未连接到视图或某些语法错误(检查控制台窗口是否存在可能的错误)。
B)可能是浏览器兼容性问题,但我在IE 10,Chrome和FF 27.0.1上进行了测试。
HTML:
<div ng-app="App" ng-controller="ctrl">
<select data-placeholder="Product" class="span4 chzn-select"
chosen="productsList" ng-model="selectedproduct"
ng-options="product.productName for product in productsList"
ng-change="fetchProductItems();"
ng-disabled="lock">
</select>
<button class="btn" ng-click="searchProduct()">Seach Product</button>
</div>
JS:
var app=angular.module('App', []);
function ctrl($scope){
$scope.productsList=[{id:1,productName:"aa"},{id:2,productName:"bb"},{id:3,productName:"cc"}]
$scope.searchProduct = function() {
$scope.lock =true;
}
}
答案 1 :(得分:1)
我刚好发现一切都很好但是视图(具有ng-disabled="..."
属性)被缓存了,因此属性ng-disabled="..."
实际上并没有被带到视图中。
所以...删除你的缓存,然后再试一次。