javascript - 如何禁止从 Angular JS 下拉列表中选择特定选项?

标签 javascript angularjs html-select

我想禁用 AngularJS 下拉列表中的特定选项。

它应该在下拉列表中列出,但不应允许选择它。所以我需要禁用它。

MyFile.tpl.html

<select class="form-control" ng-model="selectedFruits" 
        ng-options="fruit as fruit.name for fruit in fruits">
</select>

MyController.js

$scope.fruits = [{'name': 'apple', 'price': 100},{'name': 'guava', 'price': 30},
                 {'name': 'orange', 'price': 60},{'name': 'mango', 'price': 50},
                 {'name': 'banana', 'price': 45},{'name': 'cherry', 'price': 120}];

这里所有的水果名称都应该列在下拉列表中,但是 ma​​ngocherry 应该被禁用并且不允许用户选择它。

这可能吗?如果可能的话,请告诉我解决方案。

最佳答案

select 选项被 disabled 属性禁用。由于 ng-options 不支持禁用,您必须在 ng-repeat 中生成选项并设置 ng-disabled根据要求。

模板:

<select class="form-control" ng-model="selectedFruits">
    <option
        ng-repeat="fruit in fruits"
        ng-disabled="disabledFruits.indexOf(fruit.name) !== -1"
        ng-value="fruit">
         {{fruit.name}}
  </option>
</select>

内部 Controller :

$scope.disabledFruits = ["mango", "cherry"]

JSBin .

关于javascript - 如何禁止从 Angular JS 下拉列表中选择特定选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22005601/

相关文章:

javascript - Angular 不会更改 json 中的音频源

javascript - Jquery 包含选择 div 太高

javascript - Onedrive api 如何附加文件而不是下载?

php - 在 Symfony 2.0 中使用 optgroup 选择

javascript - 将下拉列表添加到通过 Javascript 生成的元素

javascript - 当渲染根为 lightdom 时点亮的样式

javascript - Angular.Js 中 Array.data 的定义是什么

javascript - AngularJs:将输入选定的文件添加到数组中并在 ng-repeat 指令中显示文件名

javascript - AngularJS 复选框模型值未定义

html - 当 ng-model 在 AngularJS 中更新时,md-select 中的 OnSelect 事件