我有一个下拉控件数据绑定如下:
<select name="trafficGroup" class="form-control input-sm"
ng-model="monitoringProbe.tdmCapture.selectedTDMCard.timeSlotProperties.trafficGroup"
required
ng-style="{'width':'100%'}"
ng-disabled="!monitoringProbe.tdmCapture.selectedTDMCard.isEditMode"
ng-if="monitoringProbeTDMCaptureData.trafficGroups.length > 0">
<option value="{{tg.id}}" ng-repeat="tg in monitoringProbeTDMCaptureData.trafficGroups" > {{tg.name}}</option>
</select>
我明确设置monitoringProbe.tdmCapture.selectedTDMCard.timeSlotProperties.trafficGroup
的值,如下所示,否则其默认值为空:
if(tdmCapture.selectedTDMCard.timeSlotProperties.trafficGroup == 0)
tdmCapture.selectedTDMCard.timeSlotProperties.trafficGroup = app.meta.monitoringprobe.tdmCaptureTabData.trafficGroups[1];
除IE9外,所有浏览器都可以正常使用。在IE9中我在下拉列表中看到的是{{tg.name}}
我添加ng-if="monitoringProbeTDMCaptureData.trafficGroups.length > 0"
以避免这种情况,但问题仍然存在。
知道如何解决它吗?
答案 0 :(得分:2)
您可以使用select指令的ng-options属性,而不是使用带选项标记的ng-repeat。如果这可以解决您所看到的问题,我不会乐观,但这通常是更好的方法。
<select ng-options="tg.id as tg.name for tg in monitoringProbeTDMCaptureData.trafficGroups">
</select>
如果您希望默认值为空,则只需包含一个空值的选项标记。
<select ...>
<option value=""></option>
<select>