我正在使用https://github.com/localytics/angular-chosen创建选择元素并选择默认项目:
<select chosen="{inherit_select_classes:true}" disable-search="true" class="form-control span6" ng-model="myPick">
<option value=""></option>
<option value="AAA">AAAAAAAAAAAAAAAA</option>
<option value="BBB" selected="selected">BBBBBBBBBBBBBBB</option>
</select>
我希望默认选择 BBBBBBBBBBBBBBB
但它不起作用:
http://plnkr.co/edit/H2hmEukfjaPL1T4W298O?p=preview
使用 selected="selected"
和 $scope.myPick = "BBB";
也无法使其工作。你能帮忙解释一下为什么吗?
如果我删除模型,它就可以正常工作:
<select chosen="{inherit_select_classes:true}" disable-search="true" class="form-control span6">
<option value=""></option>
<option value="AAA">AAAAAAAAAAAAAAAA</option>
<option value="BBB" selected="selected">BBBBBBBBBBBBBBB</option>
</select>
更新1
我的项目已经在一堆模板中包含了一堆
select
和option
。将它们拉入$scope.someObject
来执行ng-options
非常耗时。如果我不必在任何地方声明或初始化
myPick
,而是将selected
放入 html 模板中,那就最好了。
最佳答案
您可以像这样预定义选项,而不是通过标记插入选项:
$scope.options = {
'AAA':'AAAAAAAAAAAAAAAA',
'BBB':'BBBBBBBBBBBBBBB'
} ;
$scope.myPick = "BBBBBBBBBBBBBBB";
在您看来:
<select chosen="{inherit_select_classes:true}" disable-search="true" class="form-control span6" ng-options="v for (k,v) in options" ng-model="myPick">
</select>
您可以在这里查看它是如何工作的:http://plnkr.co/edit/aOV1agWFfJZaTU675wEF?p=preview
关于javascript - Angular Chosen 默认选择不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26110093/