我使用最新的select2 api(select2-3.4.5)和我的html for select 2看起来像这样。
<select ui-select2 id="select2-test" ng-model="mymodel.myTitle">
<option value="">Title</option>
<option ng-repeat="title in nameList" value="{{title.key}}">{{title.name}}</option>
</select>
我正在我的控制器中执行保存调用,保存模型并重新加载保存的模型。这是在下面的块中完成的。
$timeout(function(){
//if(!$scope.$$phase){
$scope.$apply(function(){
//update the model
//update code
})
//};
}, 50);
我的所有文本字段都加载了更新的数据,当我打印出{{mymodel}}时,我可以看到更新的模型。 我在$ scope内执行了save和update调用。$ apply用于更新dom元素。
更新后,当我展开下拉列表(select2)时,我可以看到在选择选项中选择了正确更新的值。
<option XXXX selected="selected">MYSELECTED</option>
但是select2-container有
<span class="select2-chosen">OLD</span> has the old value hence it is shown as the selected value.
这是选择2的问题还是我遗漏了什么?