如何 select 加载 Select2 下拉列表中的多个选项?
How to select multiple options in Select2 dropdown on load?
我正在尝试将 selected 项目的数组加载到现有的 select2 下拉列表中,以便加载预 selected 项目,但我我正在努力让我的语法正确。
给出如下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>
这行得通,但我希望这些项目中的 1 个或多个已经 selected,这样在页面加载时,所有属性都会添加到 select 列表中,然后,例如 - Animal 和 Beach 已经 selected.
理想情况下,我可以填充一个数组,当传递到 select2 下拉列表时,将列表中的某些项目标记为 'selected'。
所以,简而言之
- 根据属性列表创建 Select2 下拉列表
- 从另一个数据源,一个包含 0 个或更多 'selected attributes' 的列表被加载到此 select2 下拉列表中,作为现有的 selection。
- 一个更清晰的例子,来自 1 table 的 select 列表中的世界 100 个国家/地区,然后是用户 Bob 去过的所有国家/地区的数组(来自另一个 table ) 是 selected.
如有任何帮助,我们将不胜感激。
试试这个代码。
var $mySelect = $(".attribute-tagging").select2({
closeOnSelect: true, placeholder: ""
});
$mySelect.val(["169", "171"]).trigger("change");
现在选择了抽象和海滩
您可以 select 使用 id
的倍数
$('#edit-attributes').val(["169", "171"]);
$('#edit-attributes').trigger("change");
最后没有忘记触发change事件!!!
我正在尝试将 selected 项目的数组加载到现有的 select2 下拉列表中,以便加载预 selected 项目,但我我正在努力让我的语法正确。
给出如下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>
这行得通,但我希望这些项目中的 1 个或多个已经 selected,这样在页面加载时,所有属性都会添加到 select 列表中,然后,例如 - Animal 和 Beach 已经 selected.
理想情况下,我可以填充一个数组,当传递到 select2 下拉列表时,将列表中的某些项目标记为 'selected'。
所以,简而言之
- 根据属性列表创建 Select2 下拉列表
- 从另一个数据源,一个包含 0 个或更多 'selected attributes' 的列表被加载到此 select2 下拉列表中,作为现有的 selection。
- 一个更清晰的例子,来自 1 table 的 select 列表中的世界 100 个国家/地区,然后是用户 Bob 去过的所有国家/地区的数组(来自另一个 table ) 是 selected.
如有任何帮助,我们将不胜感激。
试试这个代码。
var $mySelect = $(".attribute-tagging").select2({
closeOnSelect: true, placeholder: ""
});
$mySelect.val(["169", "171"]).trigger("change");
现在选择了抽象和海滩
您可以 select 使用 id
的倍数 $('#edit-attributes').val(["169", "171"]);
$('#edit-attributes').trigger("change");
最后没有忘记触发change事件!!!