2016-12-13 108 views
1

我有一个简单的网页,看起来像这样;在另一个下拉列表中禁用某些条件下拉列表

enter image description here

的HTML代码是如下;

<div ng-controller="room_controller" class="md-padding" ng-cloak layout="column"> 
    <md-card> 
     <md-card-title> 
      <md-card-title-text> 
       <span class="md-headline">Room settings</span> 
      </md-card-title-text> 
     </md-card-title> 
     <md-card-content> 
      <div layout="row" layout-align="space-between center"> 
       <span>Room</span> 
       <md-select ng-model="mode" placeholder="Mode1" class="md-no-underline"> 
        <md-option value="auto">Mode1</md-option> 
        <md-option value="manual">Mode2</md-option> 
       </md-select> 
       <md-select ng-model="channel_number" placeholder="1" class="md-no-underline"> 
        <md-option value="1">1</md-option> 
        <md-option value="2">2</md-option> 
        <md-option value="3">3</md-option> 
       </md-select> 
      </div> 
     </md-card-content> 
    <md-card> 
</div> 

angularjs控制器代码看起来像这样;

.controller('room_controller', ['$scope', 
    function ($scope) { 

    }]) 

我正在使用angularjs v1的材料。当中心下拉列表中的值为Mode1时,我想让右侧的下拉列表被禁用(用户无法点击它来选择)。否则,将启用右侧的下拉列表。

回答

2

刚刚尝试这一点,添加一个NG-禁用指令

<md-select ng-disabled="mode == 'auto'" ng-model="channel_number" placeholder="1" class="md-no-underline"> 
    <md-option value="1">1</md-option> 
    <md-option value="2">2</md-option> 
    <md-option value="3">3</md-option> 
</md-select> 
+0

谢谢。你能否更新你的答案来使用'ng-disabled'? user8461258指出了这个语法错误。除此之外,你的答案是完美的。我想将您的答案标记为您早些时候的答案。 – user781486

+1

@ user91579631我已更新答案 – byteC0de

+0

谢谢。你的答案已被标记为答案。 – user781486

0

的技巧是使用ng-disabled指令。改变你的代码的这一行;

<md-select ng-model="channel_number" placeholder="1" class="md-no-underline"> 

to this line;

<md-select ng-disabled="mode == 'auto'" ng-model="channel_number" placeholder="1" class="md-no-underline"> 

Jihin Raju的是,除了语法错误(ng-disabled,不ng-disable)几乎是正确的。

相关问题