繁体   English   中英

加载时如何在Select2下拉列表中选择多个选项?

[英]How to select multiple options in Select2 dropdown on load?

我正在尝试将选定项的数组加载到现有的select2下拉列表中,以便在加载时有预选项,但是我正在努力使语法正确。

提供以下json数组,即$ scope.attributes

[{"AttributeId":169,"AttributeName":"Abstract"},
 {"AttributeId":170,"AttributeName":"Animal"},
 {"AttributeId":171,"AttributeName":"Beach"}]

以及用于创建select2下拉列表的初始代码

$(".attribute-tagging").select2({
    closeOnSelect: true, placeholder: ""
});

以及用于加载所有可用选项的下拉列表的html标签。

<select class="attribute-tagging" id="edit-attributes" multiple="multiple">
    <option  value="{{attribute.AttributeId}}" ng-repeat="attribute in attributes">{{attribute.AttributeName}}</option>
</select>

此方法有效,但我希望已选择其中一项或多项,以便在页面加载时,将所有属性添加到选择列表中,然后,例如,已经选择了动物和海滩。

理想情况下,我可以填充一个数组,该数组在传递到select2下拉列表中时会将列表中的某些项目标记为“已选择”。

因此,简而言之

  • 根据属性列表创建Select2下拉列表
  • 从另一个数据源,将0或多个“选定属性”的列表作为现有选择加载到此select2下拉列表中。
  • 一个更清楚的示例是,从1个表的选择列表中选择“世界上100个国家”,然后选择一个数组,其中包含鲍勃去过的所有“国家”用户(从另一个表)。

任何帮助将不胜感激。

试试这个代码。

  var $mySelect = $(".attribute-tagging").select2({
    closeOnSelect: true, placeholder: ""
  });

  $mySelect.val(["169", "171"]).trigger("change");

现在选择了摘要和海滩

您可以使用ID选择倍数

 $('#edit-attributes').val(["169", "171"]);

$('#edit-attributes').trigger("change");

不忘了最后触发变更事件!!!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM