第一个如下所示:
<option value="? number:0 ?"></option>
HTML:
<select name="questionId1" class="questionId1 form-control required" tabindex="3" ng-model="abCtrl.form.questionSel.q1.index" ng-change="abCtrl.changeFn()" >
<option ng-repeat="question in abCtrl.form.questions" value="{{question.index}}"
ng-selected="question.index == abCtrl.form.questionSel.q1.index">{{question.val}}
</option>
</select>
JS:
this.form={
questions: [],
questionSel: {q1:{index:0,}, q2:{index:1}},
}
form.questions由ajax调用
填写答案 0 :(得分:0)
当绑定到ng-model
变量的值与任何选项值不匹配时会发生这种情况:
ng-model="abCtrl.form.questionSel.q1.index"
重要提示:
与question.index
的比较是 严格 :类型也必须匹配。
当您使用重复选项而不是ng-options
时,即当您编写value="{{question.index}}"
时,该选项的值将变为字符串。因此,ng-model
中变量的值(数字)不匹配,您将获得一个空选项。
使用ng-options
可以避免此问题,因为您可以为选项绑定除字符串之外的其他类型:
<select name="..." ng-model="abCtrl.form.questionSel.q1.index" ng-options="question.index as question.val for question in abCtrl.form.questions">
</select>