如何禁用不同选项的选项以便始终选择不同的选项?

时间:2015-10-26 12:07:47

标签: angularjs ng-options angularjs-select

我正在与Angularjs合作。

HTML:

<select name="questionId1" ng-model="abCtrl.form.questionSel.q1" ng-options="question.val for question in abCtrl.form.questions track by question.index"></select>

<select name="questionId2" ng-model="abCtrl.form.questionSel.q2" ng-options="question.val for question in abCtrl.form.questions track by question.index"></select>

我希望用户选择的选项将针对其他选择禁用,反之亦然

4 个答案:

答案 0 :(得分:2)

ng-options替换为ng-repeat - ed选项可以同化为回归......

您可以在... disable when ...中使用ng-options语法:

首先ng-options

...  disable when (question.index === questionSel.q2)  ...

ng-options

...  disable when (question.index === questionSel.q1)  ...

这是 fiddle

答案 1 :(得分:1)

尝试使用不同的方法,例如

<select name="questionId1" ng-model="abCtrl.form.questionSel.q1">
<option ng-repeat="question in abCtrl.form.questions" value="{{question.val}}" 
ng-disabled="abCtrl.secondSelectValue == question.val"
ng-selected="abCtrl.firstSelectValue == question.val">{{question.val}}
</option>
</select>

abCtrl.firstSelectValue将是你选择框的默认值(否则它将首次出现空选)

答案 2 :(得分:0)

两种方式:

答案 3 :(得分:0)

你可以尝试角度ngDisabled吗?网上有很多例子可以请你上网吧。在这里,我附上一些示例代码,如

代表ngDisabled

<!DOCTYPE html>
<html ng-app="sample">
<script src= "http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body>
<script>
   angular.module('sample',[]).controller('sampleCntrl',function($rootScope){
   $rootScope.disableVal= true;
   });
</script>
<div ng-controller="sampleCntrl">
<p>
<button ng-disabled="disableVal">Click Me!</button>
</p>
<p>
<input type="checkbox" ng-model="mySwitch"/>Button
</p>
<p>
<button ng-disabled="disableVal">Click Me!</button>
</p>
<p>
<input type="checkbox" ng-model="mySwitch"/>Button
</p>
<p>
{{ mySwitch }}
</p>
</div> 
</body>
</html>