如何检查AngularJS中是否选择了select
。我试着用
$scope.$watch
在这些选择的模型上,但我认为这不是很有效。
这是我当前解决方案的示例。 html:
<div ng-app>
<div ng-controller="testCtrl">
<select ng-model="first">
<option value="1">1</option>
<option value="2">2</option>
</select>
<select ng-model="second">
<option value="1">1</option>
<option value="2">2</option>
</select>
</div>
</div>
和JavaScript代码:
function testCtrl($scope) {
$scope.$watch('first + second', function () {
if (angular.isDefined($scope.first) &&
angular.isDefined($scope.second)
) {
alert("user chose from the two drop downs.");
}
});
}
这是jsfiddle:
http://jsfiddle.net/zono/atN5n/1/
但我认为这个解决方案无效。
答案 0 :(得分:2)
通常情况下,在控制器上设置手表被认为是不好的形式(它们在指令中工作得更好)。
在每个选项中,您都可以添加
<select ng-change="selectChanged()"...
然后在您的控制器中,您可以处理此事件,因为您打算使用手表
function testCtrl($scope) {
$scope.selectChanged = function () {
if (angular.isDefined($scope.first) &&
angular.isDefined($scope.second)) {
alert("user chose from the two drop downs.");
}
});
}
以下是有关此内容的更多信息:http://www.benlesh.com/2013/10/title.html
答案 1 :(得分:1)