我正在AngularJS中開發一個應用程序。通過輸入條件禁用/啓用按鈕[AngularJS]
我想知道我可以禁用按鈕,如果用戶鍵入的輸入值不是uib-typeahead
列表的項目(在這種情況下,陣列items
)?並且當它是數組的一個項目時啓用它?
2.而且,如果用戶試圖通過已添加的添加按鈕添加數組的項目,我該如何禁用相同的按鈕?這些項目保存在陣列addedItems
中。
這是HTML中的輸入和按鈕:
<input type="text" ng-model="search1" uib-typeahead="item for item in items
| filter:$viewValue | limitTo:10"/>
<button type="submit" class="btn btn-success" ng-click="action()"
ng-disabled="(!search1)">Add</button>
這是items
陣列結構的一個示例:
var items = ["admin1", "admin2", "admin3", "admin4", "admin5"];
的action()
功能在控制器定義在JavaScript:
$scope.items = ["admin1", "admin2", "admin3", "admin4", "admin5"];
$scope.search1 = undefined;
$scope.addedItems = [];
$scope.action = function() {
$scope.addedItems.push($scope.search1);
}
謝謝*
謝謝*這解決了問題#2。你知道如何解決問題1嗎? (1.我想知道如果用戶輸入的值不是uib-typeahead列表項(在這種情況下是Array項),我該如何禁用一個按鈕?並且當它是一個項數組?) – Julia
同時,我做了類似的事情,用一個新的方法「itemList()」解決了我的問題#2。現在使用「ng-disabled =」的HTML按鈕存在(addedItems,search1)|| itemList(search1,items)「」 – Julia
Yeap,我認爲這會解決問題! – deividfortuna