我正在使用ng-options从一个对象数组中创建一个Select。这工作正常,并且出于这个问题的目的,对象的内容有点不重要,只需要说它们有name属性,value属性和一些其他属性。
以下是我用来创建Select的代码,到目前为止,它的工作正常。
这是我的问题 - 当选择一个选项时,绑定到ng-model的是"整个对象" (FL)。我想要与ng-model绑定的只是" name" (i.itemName)对象的一部分。
我想我可以通过事后回过头来解决这个问题,当按下提交按钮时,我可以循环遍历所有数据,找到绑定对象,从中提取名称,然后将其更改为“#”;没有这个名字的约束,但是...那相当邋and而不是真的应该如何处理。
有没有办法更改此代码,以便在选择项目时,ng-model绑定到 i.itemName 而不是 fl ?
<select chosen
id="{{fl.fldBasic.fldLabel}}"
ng-model="fl.dataValue"
ng-readonly="{{fl.fldBasic.attrReadOnly}}"
title="{{fl.help}}"
ng-required="{{fl.required}}"
class="chosen-select"
ng-options="i.itemName for i in fl.combo_ItemList.itemList track by i.itemValue"
style="width: 100%;">
</select>
答案 0 :(得分:3)
如果要将$http
绑定到itemName,可以使用以下代码。请注意,您需要在此处删除跟踪才能使其正常工作,因为它将评估为未定义且模型值与任何选项都不匹配。
ng-model