【问题标题】:AngularJs Select2 multiple: ng-selected does not workAngularJs Select2 多个:ng-selected 不起作用
【发布时间】:2014-06-10 08:12:51
【问题描述】:

我正在使用以下代码来选择过滤器中存在的项目

            <div ng-repeat="category in categories.data" ng-model="div1">
            <div ng-repeat="(key, value) in category" mg-model="div1.div2">
                {{ key + ":"}}
                <select id={{key}} class="my_select"
                        data-ng-model="CategoryOption"
                        data-ng-change="updateCategories()"
                        data-ui-select2="{}" multiple >
                    <option ng-repeat="c in value"
                            ng-selected="(filters[key].length>0) && (filters[key].indexOf(c.trim()) !== -1)" >
                        {{c.trim()}}</option>
                </select>

            </div>
        </div>

但它实际上并没有选择任何东西...... 另一种选择是将ng-model设置为filters.key,但是选择一个元素将取消另一个选择中的选择,因为它们绑定到同一个模型...

根据上面的设置,如何使用 select2 multiple 恢复我的选择?

【问题讨论】:

    标签: javascript angularjs ui-select2 angularjs-select2


    【解决方案1】:

    我为我的问题找到的唯一解决方案是再次修改 select2.js。

    我曾经传递一个自定义参数:

    <select id={{key}} class="my_select"
                       ng-model="select2"
                       ui-select2="{mySelection: filters[key] }" multiple >
                       <option ng-repeat="c in value track by $index"
                           value="{{c.trim()}}">{{c.trim()}}</option>
    </select>
    

    在 select2 中我应用了以下更改:

    if(opts.mySelection && typeof opts.mySelection != undefined) {
        elm.val(opts.mySelection).trigger("change");
    }
    

    就在之前:

    controller.$render();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-20
      相关资源
      最近更新 更多