This question already has an answer here:
I am using Angularjs. My problem is when I select a new option in my dropdown, a dialog will appear. If the result of the dialog is false, the selected dropdown option must be the same. Getting ideas from other devs will be analyzed. Thank you in advance!
Refer to my code snippet below:
<div ng-app="myApp" ng-controller="myCtrl">
<select ng-model="myDropDown" ng-change="Dialog()">
<option>a</option>
<option>b</option>
</select>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.4/angular.min.js"></script>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.Dialog = function () {
var dialog = confirm('Continue?');
if(!dialog) {
alert("Option must not change");
/** The problem is the dropdown still select the option. **/
}
}
});
</script>
Here is a trick you may not know:
When calling
dialog()
, you can pass as a param the previous selected option.Then, just rollback it if the dialog is cancelled.