选择先前选择的选项后,不会触发ng-change
。
因此,我无法处理相同的下一个选择。
<select ng-model="selectedOption" ng-change="handleSelection()">
<option value="A" selected>A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
我想向用户显示最后选择的选项,并希望处理相同的内容。
但是由于
ng-model
不会在下一个相同的选项上更改,因此不会触发ng-change
。如何处理这种情况?
最佳答案
您可以不通过ng-change
进行检查,只需检查点击次数即可:
每次打开click event
后都会提高1 select
选择一项后,第二个click event
上升
在失去焦点之后,我们使用blur event
清除点击计数
通过这种方式,您将获得不含change event
和without selecting new item
的选定项目:
<select ng-model="selectedOption" ng-click="handleSelection()" ng-blur="resetClickCount()">
<option value="A" selected>A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
</select>
-
app.controller("myCtrl", function($scope) {
$scope.clickCount = 0;
$scope.handleSelection = function() {
$scope.clickCount++;
if ($scope.clickCount==2) {
alert($scope.selectedOption);
$scope.clickCount = 0;
}
}
$scope.resetClickCount = function() {
$scope.clickCount = 0;
}
});
关于javascript - 无法选择先前选择的选项,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41444020/