前几天,我试图弄清楚如何选择select2 v3.5.1 JavaScript多选控制中的所有项目。我尝试了一些东西,但我很难搞清楚如何去做。我只想选择方框中的每个选项,但显然select2没有内置选项来为您选择所有项目。
答案 0 :(得分:6)
对于select2 4.0.0
var selectedItems = [];
var allOptions = $("#IncludeFieldsMulti option");
allOptions.each(function() {
selectedItems.push( $(this).val() );
});
$("#IncludeFieldsMulti").val(selectedItems).trigger("change");
答案 1 :(得分:4)
这是OP答案的一个稍微高效的版本:
var selectedItems = [];
var allOptions = $("#IncludeFieldsMulti option");
allOptions.each(function() {
selectedItems.push( $(this).val() );
});
$("#IncludeFieldsMulti").select2("val", selectedItems);
或者使其更简洁:
var selectedItems = $('#IncludeFieldsMulti option').map(function() { return this.value });
$("#IncludeFieldsMulti").select2("val", selectedItems);
答案 2 :(得分:0)
根据此处的讨论:https://github.com/select2/select2/issues/195可以在选项下拉列表中添加Select All
按钮。根据该讨论,一次选择太多可以冻结浏览器。在这里,我添加了一项功能,如果列出的选项多于25个,则禁用select all
按钮: