如何为选择选项设置值属性?

30 浏览
0 Comments

如何为选择选项设置值属性?

源JSON数据为:

[
  {"name":"Alabama","code":"AL"},
  {"name":"Alaska","code":"AK"},
  {"name":"American Samoa","code":"AS"},
  ...
]

我尝试过

ng-options="i.code as i.name for i in regions"

但我得到的是:

AlabamaAlaskaAmerican Samoa

而我期望得到的是:

AlabamaAlaskaAmerican Samoa

那么,如何获取值属性并去掉“?”这个项呢?

顺便说一句,如果我将$scope.regions设置为静态JSON而不是AJAX请求的结果,则空项就会消失。

admin 更改状态以发布 2023年5月23日
0
0 Comments

除非您在ng-repeat中自己构建它们,否则您无法真正做到这一点。


但是... 这可能不值得去做。最好让它按照设计的方式起作用,并让Angular处理内部工作。Angular以这种方式使用索引,因此您实际上可以使用整个对象作为值。因此,您可以使用下拉绑定来选择整个值,而不仅仅是一个字符串,这非常棒:


{{foo | json}}

0
0 Comments

你最初尝试的方法应该是可行的,但HTML并不是我们所期望的。我添加了一个选项来处理初始的“未选择任何项”的情况:


selected: {{region}}

上面生成了这个HTML:


Fiddle

即使Angular对于值使用数字整数,但是模型(即$scope.region)将被设置为所需的AL、AK或AS。(当从列表中选择选项时,Angular使用数字值来查找正确的数组条目。)

当首次学习Angular如何实现其“select”指令时,可能会感到困惑。

0