【问题标题】:Angular select ng-options hellAngular 选择 ng-options 地狱
【发布时间】:2014-04-19 23:08:46
【问题描述】:

我很难理解ngOptions 的文档

我有一个简单的数组:['code1' , 'code2'],我只想遍历并构造选项值和标签,如下所示:

我的期望:

<select>
    <option value="" class="">All</option>
    <option value="code1">code1.label</option>
    <option value="code2">code2.label</option>
</select>

我尝试过的:

<select ng-model="select" ng-options="option  + '.label' for option in ['code1', 'code2']">
    <option value="">All</option>
</select>

我得到了什么:

<select>
    <option value="" class="">All</option>
    <option value="0">code1.label</option>
    <option value="1">code2.label</option>
</select>

看到值不是我想要的。我测试了几乎所有可能的文档语法,但没有成功。

ps:我已经简化了代码,但是我使用 angular-translate 来翻译接收到的代码并将该翻译放在选项标签中。

JsFiddle : http://jsfiddle.net/3ekAj/

【问题讨论】:

  • 再次检查我的答案和评论:)

标签: angularjs select option ng-options


【解决方案1】:

我猜你想要的是:

<select ng-model="select" ng-options="option  + '.label' for option in ['code1', 'code2'] track by option">
        <option value="">All</option>
</select>

小提琴:jsfiddle

【讨论】:

  • 感谢您的回答,但它不起作用。使用 firebug 查看生成的源时,选项的值 attr 为“0”和“1”。
  • 只是让你知道,即使选项值显示 0 和 1,范围内的实际选择值将是在这种情况下在 ng-options 中定义的任何值,“code1”或“code2” "。
  • 感谢您的编辑救了我 ;) 此选择链接到用于过滤数据的过滤器。对于 0/1 值,它没有过滤任何东西。现在它正在工作。
  • 我正准备用这个 plunker 回答,所以希望它仍然会有所帮助:plnkr.co/edit/t2nJIw8NgbzUNmvMMYRF?p=preview
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-08-01
  • 1970-01-01
  • 1970-01-01
  • 2014-07-04
  • 2017-12-31
  • 1970-01-01
  • 2016-01-22
相关资源
最近更新 更多