javascript - AngularJS select2 not showing any values -
i using select2 way specified in https://github.com/angular-ui/ui-select2
<div ng-controller="samplecontroller>     <select ui-select2 ng-model="select2" data-placeholder="pick number">         <option value=""></option>         <option ng-repeat="number in range" value="{{number.value}}">{{number.text}}</option>     </select> </div> but not working me. see dropdown there no values select.
if change have static list follow works fine.
<div ng-controller="samplecontroller">     <select ui-select2 ng-model="select2" data-placeholder="pick number">         <option value="">value1</option>         <option value="">value2</option>         <option value="">value3</option>     </select> </div> what missing here?
my model follow
function samplecontroller($scope){     $scope.select2="";     $scope.range=[{text:"name1", value:"id1"},         {text:"name2", value:"id2"},         {text:"name3", value:"id3"}];      $("#e1").select2(); } 
i think have use $timeout :
function samplecontroller($scope, $timeout){     $scope.select2="";     $scope.range=[{text:"name1", value:"id1"},         {text:"name2", value:"id2"},         {text:"name3", value:"id3"}];     $timeout(function(){       $("#e1").select2();     }, 0); } why? because $timeout wait end of $digest (in case ng-repeat) before execute function.
your previous code did :
- render html
- $("#e1").select2();
- interpretate ng-repeat
so, select2 function executed before select has option elements.
look $timeout documentation : https://docs.angularjs.org/api/ng/service/$timeout
Comments
Post a Comment