【问题标题】:AngularStrap Select and ng-options don't work well using dynamic arrayAngularStrap Select 和 ng-options 不能很好地使用动态数组
【发布时间】:2013-12-12 07:21:34
【问题描述】:

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

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

问题是当我使用 AngularStrap 指令选择时,它不能正常工作。第一次选择汽车品牌,效果很好,但是下一次选择的选项(汽车品牌),显示的是选择的汽车品牌的型号和选择的上一个汽车品牌的第一个型号。

当我不使用 AngularStrap 选择时效果很好,因此我认为问题出在 AngularStrap 选择中。

感谢您的帮助。

我的代码是下一个:

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>

控制器(JS):

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

【问题讨论】:

  • 还没有,我认为问题是由于 bs-select 指令。我想我必须修改这个指令,但我还不知道怎么做。
  • 好的,谢谢。现在,我正在使用 jquery 的引导选择中的“刷新” :)
  • 您好 user237865,您如何进行刷新,仅通过 bs-select 组件还是刷新所有页面?
  • Bootstrap 选择刷新,如下图 $(element).selectpicker('refresh');
  • 也许你现在可以更新它作为解决方案,直到 angularStrap 修复它。

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


【解决方案1】:

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

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

【讨论】:

  • 回答老问题很好——这就是我们保留它们的原因。您无需在回答前加上“我意识到这是旧的”来道歉。
【解决方案2】:

我能够将 AngularStrap 选择支持与 select 元素一起使用的唯一方法是使用 ng-options 并且 没有选项元素 作为 &lt;select&gt; 的子元素。

【讨论】:

    猜你喜欢
    • 2012-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-16
    • 1970-01-01
    相关资源
    最近更新 更多