我正在使用ng-options
來顯示帶有選項的下拉列表。假設我有三個選項,例如選項1,選項2,選項3.默認選項1被選中,現在如果用戶選擇選項2,那麼$pristine
變成False
,再次如果他選擇選項1,則從angularjs的預期$pristine
應該是假的,但根據用戶他並沒有改變我一直在尋找一種方式option.So檢測到這種變化檢查下拉列表的狀態是否已更改
回答
HTML
<div ng-app="myApp">
<div ng-controller="ctrl">
<form name="myForm">
{{myForm.$pristine}}
<select ng-model='list' ng-options='item.name for item in data'>
</select>
</form>
</div>
</div>
JS代碼
var app = angular.module('myApp', []);
app.controller('ctrl', function($scope) {
$scope.data = [{
id: 1,
name: 'test'
}, {
id: 2,
name: 'test1'
}];
$scope.list = $scope.data[0];
$scope.$watch('list', function(o, n) {
if ($scope.list == $scope.data[0])
$scope.myForm.$pristine = true;
})
});
你有你的列表模式則可以做到這一點
這可以在ng-change本身完成,不需要額外的$ watch –
@RohanKawade然後你可以使用方法來設置它默認'$ scope.myForm。$ setPristine(true);'參考https:// docs .angularjs.org/api/ng/type/form.FormController –
這正是NG-變化是增加的手錶。
用法會是這樣(加$指數向您展示另一種選擇):
HTML
<div ng-app="myApp">
<div ng-controller="listController">
<form name="myForm">
<select ng-model="currOption"
ng-options='item.name for item in data'
ng-change="optionChanged(currOption, $index)">
</select>
</form>
</div>
</div>
控制器
angular.module('myApp')
.controller('listController', function($scope) {
$scope.data = [{
id: 1,
name: 'option1'
}, {
id: 2,
name: 'option2'
}, {
id: 3,
name: 'option3'
}];
$scope.optionChanged(option, index) {
// option = the selection the user just made.
// index = the index of the selection in your data. I.E. $scope.data[index]
};
});
但仍然是$ pristine條件仍然是錯誤的。 –
@RohanKawade如果你想把它設置爲true,你可以在'$ scope.optionChanged'函數中調用'myform. $ setPristine();' 。 –
- 1. 下拉列表已更改
- 2. 如何檢查複選框狀態是否已更改
- 3. 檢查哪個下拉列表已更改
- 4. 檢查下拉列表是否爲空
- 5. 檢測HTML選擇下拉列表是否處於下拉選中狀態
- 6. 檢查python中的巨大列表是否已更改
- 7. 確定單選按鈕組的檢查狀態是否已更改
- 8. ,如何檢查ImageField是否已更改?
- 9. 檢查目錄是否已更改
- 10. 檢查屬性是否已更改
- 11. 下拉列表檢查索引是否通過代碼或選擇更改
- 12. 將用戶狀態從SwitchInput更改爲下拉列表
- 13. 在下拉列表中selectedindexchanged事件不會更改其狀態
- 14. 顯示/隱藏其他下拉列表值的下拉列表值已更改
- 15. Laravel - 檢查列的值是否已更改
- 16. 檢查,看是否名已在列表
- 17. 要檢查是否已添加選項使用JQuery下拉列表
- 18. 創建的狀態下拉列表
- 19. 下拉檢查列表
- 20. 爲每行數據動態更改下拉列表的選中狀態
- 21. 檢查是否選擇了下拉列表中的項目
- 22. vba檢查下拉列表中的項目是否被選中?
- 23. 檢查選擇下拉列表中的選項是否可用
- 24. Android - >狀態欄狀態已更改
- 25. HTML下拉列表更改
- 26. 更改下拉列表值
- 27. 檢查列是否已經存在,如果不是,則在sqlite中更改表
- 28. MySQL檢查表是否有一些記錄已更改
- 29. 檢查網頁表單值是否已更改
- 30. 檢查表單數據是否已更改
可以爲您發佈你嘗試過什麼? –