我是AngularJS的新手,我有一个带选项的选择框。当用户选中选项而不选中复选框时,我会显示一条消息。有用 !但之后我想将选项值设置为默认值。它不起作用。请帮我解决这个问题。
this.onChange = function (ev, selectoptionModel){
if(selectoptionModel == "OK"){
if(this.myArray.length==0){
alert = $mdDialog.alert({
title: 'Attention',
textContent: 'Please select option first',
ok: 'Close'
});
$mdDialog
.show( alert )
.finally(function() {
alert = undefined;
selectoptionModel = "";
});
}
}
}
选择选项
<div>
<md-input-container>
<md-select ng-model="selectoptionModel" ng-change="$dataListController.onChange($event,selectoptionModel)" placeholder="Bulk Action">
<md-option value="DONE">DONE</md-option>
</md-select>
</md-input-container>
</div>
答案 0 :(得分:0)
您正在更改功能参数,因此不会更改。 改为改变范围变量。
由于它位于函数内部,因此您可能无法获得this
的引用,因此请使用变量vm
并为其指定this
值并使用内部函数。
this.onChange = function (ev, selectoptionModel){
var vm = this;
if(selectoptionModel == "OK"){
if(this.myArray.length==0){
alert = $mdDialog.alert({
title: 'Attention',
textContent: 'Please select option first',
ok: 'Close'
});
$mdDialog
.show( alert )
.finally(function() {
alert = undefined;
$scope.selectoptionModel = ""; // If it didnt work, try below function
$scope.$apply(function(){
$scope.selectoptionModel = "";
})
$window.location.reload();
});
}
}
}
HTML:
<div>
<md-input-container>
<md-select ng-model="selectoptionModel" ng-change="$dataListController.onChange($event,selectoptionModel)" placeholder="Bulk Action">
<md-option value=""></md-option>
<md-option value="DONE">DONE</md-option>
</md-select>
</md-input-container>
</div>