ng-change 工作不正常?

ng-change works incorrect?

我有一个密码:

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

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

ng-change="selectVersion(selected_version_os_to)"

您不需要在 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); 
}