Having trouble in setting up the default value for the drop down when AngularJS/ng-repeat/custom directive + Select2 JS is used.
1. I avoided using ng-options as the directive priority is 0.
2. I tried setting the priority for the custom directive 'select2Directive' to a number less than 1000, but still no luck.
Plunker @ http://plnkr.co/edit/Csy5FqDSQbErTm2fNPac。感谢任何帮助。谢谢。
我注意到你正在使用一个小指令调用select2,但我发现这个名为angular-select2的库也很容易实现。
你可以用ng-model/$scope设置默认值,看看这个柱塞就知道了
http://plnkr.co/edit/pFkY5f?p =
预览编辑:我宁愿尝试以其他方式传递数据似乎select数据和你的ng-repeat不同步
你可以尝试一种不同的方法,比如创建一个指令,然后从那里插入数据。
directive('select2Dynamic', function ($timeout) {
return {
restrict: 'A',
priority: 1,
scope: {
ngModel: "="
},
require: 'ngModel',
link: function (scope, element, attr) {
var select2Inst = element.select2();
select2Inst.select2({data:scope.$parent.$eval(attr.ngModel)});
select2Inst.select2('val',attr['select2Dynamic']);
}
}
});
<select select2-dynamic='2' ng-model='addresses' id="address" name="address" style="width:200px;" >
</select>
如果你想坚持你的方法,你可以考虑设置"模型绑定事件"的值和结尾
看这个活塞
无论如何,我仍然坚持我的观点,你应该尝试angular-select2库
希望能有所帮助