如何在ng-repeat中初始化select的值?
如何在ng-repeat中初始化select的值?
首先我尝试了。但是当表单提交时,提交的变量
size
不是472 473 474
,而是索引0 1 2
。
然后我尝试了ng-options='y.title for y in arr track by y.id'
。但是选中的模型sid
不是473
,而是{"id":473,"title":"bb"}
,所以我无法通过ng-init='sid = 473'
将473项设为默认项。
最后,我不得不使用下面的option ng-repeat='y in arr'
。但是似乎ng-init
是无用的,因为它会在选项重复之前初始化。我该如何让它起作用?
谢谢。
{{ sid }}
问题出现的原因是当使用ng-repeat指令时,需要设置select元素的初始值。但是由于ng-repeat指令会动态生成多个option元素,导致无法直接设置select的初始值。
解决方法是使用一个隐藏的input元素来绑定ng-model,然后通过ng-value指令将初始值传递给ng-model。具体代码如下:
<input name="profile_id" type="text" style="margin-left:-10000px;" ng-model="profile"/>
通过以上代码,我们将一个隐藏的input元素与ng-model属性绑定起来,并将初始值通过ng-value指令传递给ng-model。这样就可以实现在ng-repeat指令中初始化select元素的值。
希望这个解决方法能够帮助到有类似问题的人。如果你有更好的解决方法,欢迎分享。