2016-01-21 222 views
1

下面的代碼不起作用:動態添加選項的選擇角度組合框

<select ui-jq='chosen' ng-model='trainer_list' multiple class="form-control" data-placeholder="Select Multiple Trainers" ng-options='trainer.id as trainer.name for trainer in trainers'> 

</select> 

我把這個從一個角度引導主題,我掙扎使用它。基本上,我想從這個角度腳本

$http({ 
     method: 'GET', 
     url: 'http://localhost/training_system/retrieve_train.php?trainer=Y' 
}).success(function (result) { 
    $scope.trainers = result; 

}); 

使用,並在組合框中使用它,我不能用靜態的選項,這顯然是工作的唯一部分。我該怎麼辦?

更新:所以我嘗試了使用ng-repeat而不是ng-options的Abhilash的解決方案,並且它在第一次嘗試的時候就起作用了。但現在我不能再重複它了,我擁有的只是一個空的保管箱。我沒有改變任何東西,但它不再有效。 ui-jq是否可能與AngularJS不兼容?

+0

顯然,代碼工作......但只有幾分鐘的延遲。我該如何擺脫延遲? –

+0

如果您想使用選擇的遠程的ngOptions,請嘗試使用https://github.com/leocaseiro/angular-chosen。它工作得很好。 –

回答

0

試試這個:

<select ui-jq='chosen' ng-model='trainer_list' multiple class="form-control" data-placeholder="Select Multiple Trainers"> 
    <option value="{{trainer.id}}" ng-repeat="trainer in trainers"> {{trainer.name}} </option> 
</select> 

調試您的變量trainers

只是在你的網頁的任意位置添加此代碼調試,

<label> To Do: Remove this after testing. Trainer = {{trainers}} </label> 

,看看什麼是教練的值。你的服務器調用後這個變量是否正在更新?

+0

我不明白。當我調試{{trainers}}變量時,它顯示在頁面中,但select語句仍然不顯示選項 –

+0

不,等等,它工作正常!我重新加載了頁面,它工作正常!感謝修復! –

+0

我注意到問題在於延遲填充元素,而不是腳本本身。我如何擺脫延遲? –

0

這是我如何解決它:

在您選擇的標籤,把NG-IF = 「教員」。這將阻止DOM加載,直到您的http請求完成

相關問題