动态地将选项添加到 Angular 选定的组合框中

Dynamically add options to a Angular chosen combo box

本文关键字:组合 Angular 选项 添加 动态      更新时间:2023-09-26

以下代码不起作用:

<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>

我从Angular Bootstrap主题中获取了这个,我正在努力使用它。 基本上我想从这个角度脚本中使用

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

并在组合框中使用它,我不能使用静态选项,这显然是唯一有效的选项。 我该怎么办?

更新:所以我尝试了Abhilash使用ng-repeat而不是ng-options的解决方案,并且在前几次尝试中都有效。 但现在我不能再重复了,我只有一个空的保管箱。 我没有改变任何东西,但它不再有效。 ui-jq 是否可能与 AngularJS 不兼容?

试试这个:

<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>

看看培训师的价值是什么。此变量是否在服务器调用后更新?

这是我解决它的方式:

在你的选择标签中,输入 ng-if="trainers"。这将阻止 DOM 加载,直到您的 http 请求完成