2

私は AngularStrap (ディレクティブ Select、Silvio Moreto によって作成された Bootstrap-Select に基づく) で AngularJS を使用しています。次の問題があります。

私は車のブランドの配列を持っています。ng-options を使用して、それらをオプションのように選択します。別の方法では、オプション (車のブランド) を選択すると、この車のブランドのさまざまなモデルが取得され、別の選択のオプションのように表示されます。

問題は、AngularStrap ディレクティブ select を使用しているときにうまく機能しないことです。初めて車のブランドを選択すると正常に動作しますが、次に選択したオプション (車のブランド) では、選択した車のブランドのモデルと、前に選択した車のブランドの最初のモデルが表示されます。

AngularStrap select を使用しない場合はうまく機能するため、問題は 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>

コントローラー (JS):

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

2 に答える 2

0

これは古いことだと思いますが、Chosen Select プラグインと ng-options の動的リストで同様の問題がありました。オプションクエリを $timeout 内にラップすることで、最終的に問題を解決しました。

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

于 2014-10-23T19:35:18.553 に答える
0

要素で AngularStrap 選択サポートを使用できた唯一の方法は、selectng-options を使用し、オプション要素を の子として持たないことでした<select>

于 2014-12-18T17:51:57.820 に答える