代码之家  ›  专栏  ›  技术社区  ›  David says Reinstate Monica

使用对象表示法获取所选ng选项的标签

  •  1
  • David says Reinstate Monica  · 技术社区  · 9 年前

    给定一个对象:

    obj = {
      foo: 1,
      bar: 2
    }
    

    我创建了一个 ng-option 使用对象数据源符号:

    <select ng-model="selection" ng-options="key for (key, value) in obj"></select>
    

    此时,用户将看到一个带有值的下拉列表 foo bar 。当他们选择一个选项时 selection 更改为 1 2 分别地

    但我如何才能返回并找出当前选择的键/标签是什么?

    1 回复  |  直到 9 年前
        1
  •  2
  •   Community Mohan Dere    5 年前

    确定和比较 键的值 在语句中,只需添加 select 条款 ng-options 表示

    <select ng-model="selection" ng-options="key as key for (key, value) in obj"></select>
    

    这将设置 selection foo bar 而不是 1 2 你可以从那里做出决定。

    从角度文档

    选择 label 对象中的(键、值)

    选择 :此表达式的结果将绑定到父级的模型 <select> 要素如果未指定,select表达式将默认为value。

    使现代化 :

    为了同时查看键和值,可以创建一个新对象作为 选择 。看看这个 Plunkr

    <select ng-model="selection" ng-options="{key:key, value:value} as key for (key, value) in obj"></select>
    
    <span>{{selection.key}}</span>
    <span>{{selection.value}}</span>