3选择绑定到search.accident.XXXXX.id的ng-model控制器范围变量用于从数据结构中搜索。 虽然第一个HTML代码段没有任何麻烦,但无论变量如何变化,第二个HTML代码段都会被卡住。 我想到了一种更新'问题:我是否需要提示angularjs关于数据结构的聚合性质?怎么样?
工作代码段如下:
<h2>
« {{search.accident.symptom.id}} »
observé(es) sur « {{search.accident.organ.id}} »
à l'étape « {{search.accident.stage.id}} »
</h2>
非工作片段如下:
<h2>
« {{search.accident.symptom.displayName}} »
observé(es) sur « {{search.accident.organ.displayName}} »
à l'étape « {{search.accident.stage.displayName}} »
</h2>
[编辑]
以下是选择代码:
<form>
<table>
<tbody>
<tr>
<td style="width: 40%">
Stade<br>
de la plante<br>
<select
ng-options="s.id as s.displayName for s in stages"
ng-model="search.accident.stage.id">
</select>
</td>
<td style="width: 20%">
Organe<br>
concerné<br>
<select
ng-options="o.id as o.displayName for o in organs | filter:accidentsSearch(search.accident.stage, null, null, accidentsDiagnosticsMenu)"
ng-model="search.accident.organ.id">
</select>
</td>
<td>
Symptôme<br>
observé<br>
<select
ng-options="s.id as s.displayName for s in symptoms | filter:accidentsSearch(search.accident.stage, search.accident.organ, null, accidentsDiagnosticsMenu)"
ng-model="search.accident.symptom.id">
</select>
</td>
</tr>
</tbody>
</table>
</form>
答案 0 :(得分:0)
<select ng-options="s.id as s.displayName for s in stages"
ng-model="search.accident.stage.id">
</select>
以上含义:显示一个显示阶段displayName的选择框。无论何时进行选择,都要使用所选阶段的search.accident.stage.id
更新字段id
。
因此,每当更改选择时,search.accident.stage将保持不变,除了其ID。你想要的是
<select ng-options="s as s.displayName for s in stages"
ng-model="search.accident.stage">
</select>
表示:显示一个显示阶段displayName的选择框。无论何时进行选择,都要使用所选阶段更新字段search.accident.stage
。
答案 1 :(得分:0)
感谢您查看代码。只需将您的选择更改为:
<select
ng-options="s.displayName for s in stages"
ng-model="search.accident.stage">
</select>
如果在ng-options
中省略了select子句,则绑定默认为对象本身(您的s
),因此您声明正在选择s(使用s.displayName作为选择标签) )将存储在您的search.accident.stage中。然后,您只需要在任何想要显示它们的地方检索它们。