2014-07-10 71 views
1

的有條件變化值我有以下HTML代碼:NG-模型輸入

<input type="text" ng-model="search.isOrdered"/> 

如果用戶鍵入ordered字輸入,然後我想ng-model = true,如果用戶鍵入unordered字輸入,然後我想ng-model = false。在其他情況下,我想ng-model = undefinedng-model = null。假設我不能使用單選按鈕或複選框。

如何實現這一目標?

感謝

+0

我想你必須使用'ng-change'並且設置'search.isOrdered'基於你用於這個文本框的一個不同的'ng-model' – Ian

回答

2

更改您的HTML如下:

<input type="text" ng-model="search.isOrderedInput"/> 

在你的控制器:

$scope.isOrdered = function() { 
     var isOrdered; 

     switch ($scope.isOrderedInput) { 
     case 'ordered': 
      isOrdered = true; 
      break; 
     case 'unordered': 
      isOrdered = false; 
      break; 
     default: 
      isOrdered = undefined; 
      break; 

     } 

     return isOrdered; 
    }; 

這應該比通過ng-change向視圖添加邏輯更容易維護,否?

3

使用ng-change代替:

<input type="text" ng-model="search.order" ng-change="search.isOrdered = search.order == 'ordered'"/> 

working fiddle

相關問題