簡體   English   中英

如何在angularjs中的ng-change上分配第二個參數值?

[英]How to assign a second parameter value on ng-change in angularjs?

我有簡單的下拉綁定角度模型

<select                                               
    ng-model="user.Id"
    ng-options="convertToInt(c.Id) as c.Name for c in users"
    ng-change="changeItem(user.Id)"
     >
    <option ng-selected="c.Id == user.Id" value="{{c.Name}}"></option>
</select>

並在控制器中

$scope.changeItem = function(item){
   //userid
}

如何從選擇框中獲取用戶名,即返回c.Name?

傳遞整個用戶對象

 ng-change="changeItem(c)"

接着,

$scope.changeItem = function(item){
  console.log(item.name);
}

傳遞愛麗絲對象

ng-change="changeItem(c)"

接着,

$scope.changeItem = function(user){
  console.log(user.name);
}

關於什么

 <selectng-model="user"
    ng-options="item as item.name for item in users  track by item.id"
    ng-change="onChange()">
     </select>

$scope.onChange = function(){
       console.log($scope.user);
    };

工作演示

選擇整個對象給selectedUser ,就可以從對象中獲得所需的一切。

 <div ng-app="myApp" ng-controller="HomeCtrl as vm"> <select ng-options="user as user.name for user in vm.users" ng-model="vm.selectedUser"></select> <p>Selected user: {{vm.selectedUser.name}}</p> </div> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> <script> angular.module('myApp', []) .controller('HomeCtrl', function() { let vm = this; vm.users = [ { id: 1, name: 'John', }, { id: 2, name: 'Joe', }, { id: 3, name: 'Jim', }, ]; vm.userId = 2; vm.selectedUser = vm.users.find(u => u.id === vm.userId); }); </script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM