控制器:

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>

09-20 21:54