我有一个多列表,并通过Angular JS在多个控件中显示它们的值。例如,我使用Select / Option(多个)来显示A列,我想根据select / option使用另一个文本框来显示B列。这是代码:
Select(multiple)中的A列:
<select multiple data-ng-model="selectedEmp" data-ng-options="o.emp for o in post.Emps" >
<option value="SampleValue">Samplevalue</option>
</select>
文字框中的B栏:
<input data-ng-model="selectedEmp.gender" type="text" style="width:60px;"> </input>
事情是,当我不使用&#39; Multiple&#39;在选择控件中,性别值(在同一记录中)可以显示在文本框中,但是当使用“多个”时,文本框不显示选定的当前记录。
请帮助解决如何实施此问题。
由于
答案 0 :(得分:1)
如果在不使用select
的情况下使用multiple
,则绑定到对象。因此,您的selectedEmp
可能类似{"emp":1,"gender":"M"}
(对象)。
但是当你使用multiple
选择时,你绑定到一个数组。所以你的selectedEmp
可能是这样的:
[{"emp":1,"gender":"M"},{"emp":2,"gender":"F"}]
。请注意[]
。
因此,对于multiple
,您还需要传递要绑定其值的索引。但在这种情况下,您似乎希望input
来自select
以上的多个选定项目。
我会用这样的东西:
<input data-ng-model="s.gender" type="text" ng-repeat="s in selectedEmp" />