【问题标题】:AngularJS ChosenJS ng-disabled not workingAngularJS ChosenJS ng-disabled 不起作用
【发布时间】:2014-04-07 06:42:14
【问题描述】:

我有一个类似的代码

选择

<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;
}

问题是它没有禁用选择。

【问题讨论】:

  • 你用的是IE8吗? ng-disabled 不支持 IE8 和更旧的 IE。

标签: angularjs jquery-chosen


【解决方案1】:

我已经测试了您的代码,一切正常,因此可能存在 2 个问题:

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;
    }  
}

现场示例:http://jsfiddle.net/choroshin/sJZf7/

【讨论】:

  • 感谢您的回答和您的 jsfiddle。我在firefox和IE中试过了,还是一样。使用变量锁,我还禁用了另一种输入类型的文本并且可以正常工作。现在我正在检查我正在使用的每个库的版本。
  • 奇怪,你用的是什么版本的IE和FF?
  • IE 11.09600.16521 版本,FF 28.0 版本。现在我意识到在小提琴中选择的js不起作用,我怀疑问题出在选择的js和angularjs之间。我正在尝试更新 fiddlejs。谢谢@alex-choroshin
【解决方案2】:

我只是碰巧一切都很好,但是视图(具有 ng-disabled="..." 属性)被缓存了,所以属性 ng-disabled="..." 并没有真正在带来的视图中。

所以...删除您的缓存并重试。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-10
    • 1970-01-01
    • 2018-06-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-18
    • 2018-02-18
    相关资源
    最近更新 更多