2017-04-04 89 views
0

我有一个代码:ng-change工作不正确?

<select ng-options="i.id as i.os_version for i in devices" 
     ng-model="selected_version_os_to" 
     ng-change="selectVersion(i.id)"> 
    <option value=''> Select version</option> 
</select> 

为什么我在控制台中看到undefined时,试图显示值:

ng-change="selectVersion(i.id)"

selectVersionfunction:我得到i.id为未定义:

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

回答

0

你并不需要在selectVersion方法传递任何东西,ng-model你已经绑定选择的值。

您的代码应该是这样的:

<select ng-options="i.id as i.os_version for i in devices" 
     ng-model="selected_version_os_to" 
     ng-change="selectVersion()"> 
    <option value=''> Select version</option> 
</select> 


// controller code 
$scope.selectVersion = function() { 
    console.log($scope.selected_version_os_to); 
} 
1

您试图显示错误的变量。
当你的ng-modelng-model="selected_version_os_to",你应该改变你的ng-change到:

ng-change="selectVersion(selected_version_os_to)"