我正在使用Ionic和AngularJS开发应用程序。
无法弄清楚如何获得所选期权的值(value)

Controller

.controller('TestCtrl', function($scope, $options) {
    $scope.options = [
        { id: 0, label: '15', value: 15 },
        { id: 1, label: '30', value: 30 },
        { id: 2, label: '60', value: 60 }
    ]

    $scope.countSelector = $scope.options[0];

    $scope.changeCount = function(obj){
        obj = JSON.parse(obj);
        console.log(obj)
        console.log(countSelector)
        $options.set('productCountPerPageValue', obj.value);
        $options.set('productCountPerPage', obj.id);
    };
    ...
})

模板
<ion-list ng-controller="TestCtrl">

    <label class="item item-input item-select">
        <div class="input-label">
            {{countSelector}}
        </div>
        <select ng-model="countSelector" ng-change="changeCount('{{countSelector}}')" ng-options="opt as opt.label for opt in options">
        </select>
    </label>

</ion-list>

console.log(obj)始终返回先前选择的值

console.log(countSelector)始终返回默认值(如果已设置)或未定义

最佳答案

当您执行select ng-model="countSelector"时,会将您的选择绑定(bind)到$scope.countSelector
因此,在 Controller 内部,如果要访问所选值,请使用以下命令:

$scope.countSelector

编辑 :

根据您的要求,您可能希望直接在$ scope.countSelector中包含该值。为此,您可以将ng-options调整为以下内容:
ng-options="opt.id as opt.label for opt in options"

关于javascript - AngularJS获取范围内的选定项目,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29486250/

10-12 12:39