我正在使用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. 检测HTML选择下拉列表是否处于下拉选中状态
- 5. 检查python中的巨大列表是否已更改
- 6. 下拉列表检查索引是否通过代码或选择更改
- 7. 在下拉列表中selectedindexchanged事件不会更改其状态
- 8. Laravel - 检查列的值是否已更改
- 9. 检查,看是否名已在列表
- 10. 检查是否选择了下拉列表中的项目
- 11. vba检查下拉列表中的项目是否被选中?
- 12. HTML下拉列表更改
- 13. Android - >状态栏状态已更改
- 14. 检查列是否已经存在,如果不是,则在sqlite中更改表
- 15. 检查网页表单值是否已更改
- 16. ExtJs检查表单值是否已更改
- 17. MySQL检查表是否有一些记录已更改
- 18. 检查活动记录表是否已更改
- 19. JS/Jquery:如何检查下拉列表是否选择了值?
- 20. Android创建状态下拉列表
- 21. 查找下拉列表值是否动态添加
- 22. Android CheckedTextView - 点击更改检查状态
- 23. Catch QTableWidgetItem检查状态更改
- 24. 检查IList是否更改?
- 25. jQuery:你如何检查一个选定的下拉列表项是否已经在文本列表中?
- 26. 简单的方法来检查是否改变状态
- 27. Android:检查阿尔法状态是否
- 28. 检查Excel是否处于脏状态
- 29. 检查http状态是否成功
- 30. 检查下拉列表datatextfield的值
可以为您发布你尝试过什么? –