angular.js - angular select如何获取选中的数据列

浏览:41日期:2022-12-23

问题描述

<p>选项,{{selected}}</p><select ng-model='selected' ng-options='item.id as item.name for item in selectData'><option value=''>-- 请选择 --</option></select>$scope.selected = 1004;$scope.selectData = [ {id:1001,name:'零零一'}, {id:1002,name:'零零二'}, {id:1003,name:'零零三'}, {id:1004,name:'零零四'}];

如何获取选中的那一列数据。selected 只能获取到id值,但是我想要这一列的值。并且不干扰通过id值默认选中某一项。比如说我通过id:1004选中了这一项,我不单单要id值还要这一列的所有中。

问题解答

回答1:

你不觉得你的需求有矛盾吗,给ng-model赋值id值,又期望ng-model的值是对象?

如果想要最终ng-model是一列,但是你只能给出选中某项的id值(应该是你在页面编辑中遇到的),可以通过给定id先过滤出对应项,并赋值给selected。且ng-options表达式需要改成 item as item.name for item in selectData track by item.id

$scope.selectData = [ {id:1001,name:'零零一'}, {id:1002,name:'零零二'}, {id:1003,name:'零零三'}, {id:1004,name:'零零四'}];$scope.selected = $scope.selectData.filter(item => item.id === 1004)[0];

<select ng-model='selected' ng-options='item as item.name for item in selectData track by item.id'> <option value=''>-- 请选择 --</option></select>回答2:

<p>选项,{{selected}}</p><select ng-model='selected' ng-options='item.name for item in selectData'><option value=''>-- 请选择 --</option></select>$scope.selected = $scope.selectData[3];$scope.selectData = [ {id:1001,name:'零零一'}, {id:1002,name:'零零二'}, {id:1003,name:'零零三'}, {id:1004,name:'零零四'}];

相关文章: