2016-06-08 92 views
-1

我對這個3個總計字段。第一個是複選框。當它被選中時,輸入欄應該被激活。第二個是下拉菜單,當選擇某個選擇時,應該激活輸入字段。第三個字段是實際的輸入字段,只有在複選框被選中並且下拉列表具有特定選擇時才需要激活。禁用輸入場與複選框,下拉選擇

<input type="checkbox" ng-model="checkValue"> 
<select name="select" ng-model="selectValue"> 
    <option value="option-1">Option 1</option> 
    <option value="option-2">Option 2</option> 
    <option value="option-3">Option 3</option> 
    <option value="option-4">Option 4</option> 
</select> 
<input type="text" ng-model="inputValue" ng-disabled="!checkValue && selectValue != 'option-1'"> 
+0

有什麼問題? –

+0

它無法正常工作。每當下拉改變,我想殘疾人領域也更新複選框 – NeX

回答

2

你是對的評論,這是繞過你的選擇框模型檢查。下面的東西爲我工作在fidde。

<input type="text" ng-model="inputValue" ng-disabled="(!checkValue) || (checkValue && selectValue == undefined)"> 

檢查小提琴在:http://jsfiddle.net/Lvc0u55v/5106/

更強大的方案可以通過添加其控制輸入框的狀態的範圍的功能被添加。

<input type="text" ng-model="inputValue" ng-disabled="(!checkValue) || (checkValue && setInputState(selectValue))"> 

    $scope.setInputState= function(input){ 
    var state= false; 
    if(input === undefined || input != 'option-1'){ 
     state = true; 
    } 
    return state; 
    } 
+0

:現場只受第一操作! – NeX

+0

我沒有得到你。每當下拉變化禁用所以每當用戶在該複選框被啓用改變了下拉字段將更新, – Don

+0

。它應該根據下拉列表的選擇切換爲禁用/啓用。 – NeX