Controller :-
var selecteduser = [];
$scope.dataList = [
{ id:1, fname: 'abc', lname: 'xyz' },
{ id:2, fname: 'xyz', lname: 'abc' },
{ id:3, fname: 'foo', lname: 'bar' }
];
$scope.addUser = function (user) {
selecteduser.push(user);
$scope.selectedItem = '';
}
HTML:-
<select class="dropdown" ng-model="selectedItem"
ng-options =" data as data.fname +''+ data.lname for data in dataList"
ng-change="addUser(selectedItem)">
</select>'
这里,我在将值插入数组后重置了下拉值。但它不起作用 $scope.selectedItem = '';。我错过了什么吗?请帮助我!
谢谢
最佳答案
将 selectedItem 设置为 null:
$scope.adduser = function (user) {
if(user != null)
{
selecteduser.push(user);
$scope.selectedItem = null;
}
}
给你:
var itemApp = angular.module("ItemApp", []);
itemApp.controller("ItemCtrl", function($scope){
$scope.selecteduser = [];
$scope.dataList = [
{ id:1, fname: 'abc', lname: 'xyz' },
{ id:2, fname: 'xyz', lname: 'abc' },
{ id:3, fname: 'foo', lname: 'bar' }
];
$scope.addUser = function (user) {
$scope.selecteduser.push(user);
$scope.selectedItem = '';
}
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div data-ng-app="ItemApp" data-ng-controller="ItemCtrl">
<select class="dropdown" ng-model="selectedItem"
ng-options =" data as data.fname +''+ data.lname for data in dataList"
ng-change="addUser(selectedItem)">
</select>
<hr />
Selected Users so far:
{{ selecteduser | json }}
</div>
关于javascript - 使用 ngOptions 和 selectpickerintable 重置下拉菜单默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43115108/