ng-change工作不正确?

时间:2017-04-04 10:14:49

标签: javascript angularjs ng-options angularjs-ng-options

我有一个代码:

<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); 
}

2 个答案:

答案 0 :(得分:1)

您正试图显示错误的变量 由于您的ng-modelng-model="selected_version_os_to",因此您应将ng-change更改为:

ng-change="selectVersion(selected_version_os_to)"

答案 1 :(得分: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); 
}