1. ホーム
  2. angularjs

[解決済み] アンギュラーJSでドロップダウンリストコントロールの選択項目を設定する方法

2022-05-15 23:14:46

質問

私はAngular JSを使用して、ドロップダウンリストコントロールの選択されたオプションを設定する必要があります。これがばかげているならば、私を許してください、しかし、私はAngular JSで新しいです。

以下は、私のhtmlのドロップダウンリストコントロールです。

 <select ng-required="item.id==8 && item.quantity > 0" name="posterVariants"
   ng-show="item.id==8" ng-model="item.selectedVariant" 
   ng-change="calculateServicesSubTotal(item)"
   ng-options="v.name for v in variants | filter:{type:2}">
  </select>

入力された後、次のようになります。

 <select ng-options="v.name for v in variants | filter:{type:2}" ng-change="calculateServicesSubTotal(item)"
ng-model="item.selectedVariant" ng-show="item.id==8" name="posterVariants"
ng-required="item.id==8 &amp;&amp; item.quantity &gt; 0" class="ng-pristine ng-valid ng-valid-required">
    <option value="?" selected="selected"></option>
    <option value="0">set of 6 traits</option>
    <option value="1">5 complete sets</option>
</select>

のコントロールはどのように設定すればよいのでしょうか? value="0" を選択するように設定できますか?

どのように解決するのですか?

私はあなたの質問を理解することを願っていますが ng-model ディレクティブは、コントロールの選択項目と item.selectedVariant . つまり item.selectedVariant を変更するか、コントロールの値を変更すると、もう一方が更新されます。もし item.selectedVariant の値が 0 の場合、その項目が選択されるはずです。

もし variants はオブジェクトの配列です。 item.selectedVariant にはそれらのオブジェクトのいずれかが設定されていなければなりません。あなたのスコープにどのような情報があるのか分かりませんが、以下に例を示します。

JSです。

$scope.options = [{ name: "a", id: 1 }, { name: "b", id: 2 }];
$scope.selectedOption = $scope.options[1];

HTMLです。

<select data-ng-options="o.name for o in options" data-ng-model="selectedOption"></select>

これだと、"b"の項目が選択されたままになります。