AngularStrap Select和ng-options使用动态数组不能很好地工作

时间:2013-11-26 22:15:22

标签: javascript angularjs ng-options angular-strap bootstrap-select

我正在使用AngularJS和AngularStrap(指令选择,基于Silvio Moreto制作的Bootstrap-Select)。我有下一个问题:

我有一系列汽车品牌。使用ng-options,我把它们作为选项中的选项。 换句话说,当我选择一个选项(汽车品牌)时,我会得到这个汽车品牌的不同型号,并在另一个选择中向他们展示选项。

问题是当我使用AngularStrap指令选择时,它不能正常工作。我第一次选择一个汽车品牌,它运作良好,但下一个选择的选项(汽车品牌),它显示了所选汽车品牌的模型和选择的以前汽车品牌的第一个模型。

当我不使用AngularStrap选择它运行良好,因此我认为问题出在AngularStrap select。

感谢您的帮助。

我的代码是下一个:

HTML:

<select ng-model="selectBrand" ng-options="carBrand.id as boatBrand.name for boatBrand in boatBrands" bs-select >
<optionvalue="">CarBrand</option>
</select> 

<select ng-model="selectModel" ng-options="carModel.id as carModel.name for boatModel in carModels" bs-select>
<option value="">CarModel</option>
</select>

Controller(JS):

 $scope.carBrands = carBrand.query();
 $scope.$watch('selectBrand', function() { 
    $scope.carModels = carModel.query({type_id: $scope.selectBrand});
 };

2 个答案:

答案 0 :(得分:0)

我意识到这已经过时了,但是我对选择的Chosen插件和ng-options的动态列表也有类似的问题。我终于通过将我的选项查询包装在$ timeout中来解决问题。

&#13;
&#13;
            $timeout(function () {
                $scope.carModels = carModel.query({type_id: $scope.selectBrand});
            });
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我能够使用带有select元素的AngularStrap select支持的唯一方法是使用ng-options并将 no option elements 作为<select>的子元素