这似乎是一个标准的需求,但我很难找到一个清晰简单的解决方案。
我想要能够向已初始化的 Select2 添加一个或多个额外选项。
我正在使用较旧版本的 Select2,目前不确定版本号是什么。
这似乎是一个标准的需求,但我很难找到一个清晰简单的解决方案。
我想要能够向已初始化的 Select2 添加一个或多个额外选项。
我正在使用较旧版本的 Select2,目前不确定版本号是什么。
您可以通过与标准的<select>
相同的方式解决大多数涉及Select2的问题。 在这种情况下,相应的<select>
问题是:使用JavaScript向选择添加选项。
var option = new Option("text", "id");
$("select").append(option);
如果你希望在插入时它被选中,你只需在新选项上设置 selected
属性即可。
var option = new Option("text", "id");
option.selected = true;
$("select").append(option);
$("select").trigger("change");
请注意,我也触发了 change
事件,以便 Select2 知道所选选项已更改。哎呀,我应该在发布之前先思考一下。
只需在底层的选择器中添加一个新选项即可:
$("#myselect").append($('<option>', {value: 1, text: 'new option'}));
甚至不需要重新初始化 select2
。
function fillSelectReportPeriod() {
var corrCodeArray = retrieveCorrCodes();
$(".js-example-basic-multiple").select2({
maximumSelectionLength: 4,
data: corrCodeArray
});
}
注意:当我使用类名$(".js-example-basic-multiple")
时,选择元素的名称为$("#selectReportPeriod")
,它不起作用,因此我使用了类名。这对我有效:
$("#company_dealer").val('Newly Selected Dealer').trigger('change');