在angular.js的select下拉列表中绑定值和文本

时间:2014-08-11 05:46:54

标签: javascript angularjs ng-options angular-ngmodel

我的页面中有这个下拉列表

<select 
    ng-options="col.col_id as col.col_name for col in meta_data.x_cols"
    ng-model="obj.x">
</select>

由于模型设置为obj.x,我可以在任何$scope.obj.x函数中使用$scope访问它。

当然,它会给出所选选项的value。我有什么方法可以获得所选文本吗?例如将obj.xobj.x_text绑定到所选选项的文本。

2 个答案:

答案 0 :(得分:9)

如果你绑定col而不是col.col_id:

<select 
    ng-options="col as col.col_name for col in meta_data.x_cols track by col.col_id"
    ng-model="obj.x">
</select>

您将能够从$ scope.obj.x访问col_id和col_name:

$scope.obj.x.col_id
$scope.obj.x.col_name

答案 1 :(得分:0)

为什么不在选项标签上使用ng-repeat ..

例如

<select 
    ng-options="col.col_id as col.col_name for col in meta_data.x_cols"
    ng-model="obj.x">

    <option
      ng-repeat="col in meta_data.x_cols"
      value="{{col.id}}"
    >{{col.name}}</option>

</select>