如何选择select2 JavaScript multiselect中的所有选项

时间:2014-08-11 13:23:23

标签: javascript jquery

前几天,我试图弄清楚如何选择select2 v3.5.1 JavaScript多选控制中的所有项目。我尝试了一些东西,但我很难搞清楚如何去做。我只想选择方框中的每个选项,但显然select2没有内置选项来为您选择所有项目。

3 个答案:

答案 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按钮:

https://jsfiddle.net/hula_zell/50v60cm6/