1

以下を使用して、サーバー データに基づいていくつかの ui-select ドロップダウンを作成しました。各ドロップダウンから独立した項目を選択するのが好きです。1 つのドロップダウンで項目を選択すると、すべてのドロップダウンに同じ値が割り当てられます。選択した値を分離するにはどうすればよいですか?

            <div ng-repeat="choiceItem in menuItem.mandatoryChoices">
            <ng-form name="innerModalForm1">
                <div class="form-group">
                    <label ng-show="choiceDescExist(choiceItem)">{{choiceItem.choiceDesc}}</label>

                    <div ng-class="{ 'has-error' : innerModalForm1.option.$invalid && submitted }">
                        <div ng-show="choiceItem.multiSelect">
                            <ui-select name="mandatory" multiple required ng-model="selected.mandatoryChoices[$index]">
                                <ui-select-match placeholder="Please select one or more">
                                    {{$select.selected.choiceItemDesc}}
                                </ui-select-match>
                                <ui-select-choices repeat="s in choiceItem.choiceOptions | filter: $select.search">
                                    <div ng-bind-html="s.choiceItemDesc | highlight: $select.search"></div>
                                </ui-select-choices>
                            </ui-select>
                        </div>
                    </div>
                    <span class="has-error" ng-show="submitted && innerModalForm1.option.$invalid">You must select this required item</span>
                </div>
            </ng-form>
        </div>

これがスクリーンショットです。3 つのすべてのドロップダウンには、異なる値のセットがあります。

ここに画像の説明を入力

4

1 に答える 1

3

2つのこと:

  • multiple属性: 単一の選択が複数の選択された値を持つことができる場合に意図されています
  • ngModelおよびng-repeat/ $index: 機能しますが、おそらく間違ったモデルを更新しています

したがって、より良い方法は次のとおりです。

<ui-select name="mandatory" required ng-model="choiceItem.selected">

また、複雑な式がある場合ng-model、モデルを JSON に出力したいと思います。

{{ctrl.models | json}}
于 2015-04-17T13:11:58.330 に答える