Add options to Select2 after inititialzation
这似乎是一件标准的事情,但是我一直在努力寻找一个清晰而简单的解决方案。
我希望能够向已经初始化的Select2添加一个或多个其他选项。
我使用的是Select2的旧版本,但不确定该版本是什么版本。
您可以以与在标准
1 2 | var option = new Option("text","id"); $("select").append(option); |
如果希望在插入时选择它,则只需在新选项上设置
1 2 3 4 5 | var option = new Option("text","id"); option.selected = true; $("select").append(option); $("select").trigger("change"); |
请注意,我还触发了
上帝,我应该在发布之前停止思考。
就像将新选项添加??到基础选择中一样简单:
1 | $("#myselect").append($('<option>', {value: 1, text: 'new option'})); |
甚至不需要重新初始化
我用select2的"数据"属性解决了这个问题。首先,我使用json获取数据,然后使用下面的数组创建select2元素。
corrCodeArray是我的json数组。
1 2 3 4 5 6 | function fillSelectReportPeriod() { var corrCodeArray = retrieveCorrCodes(); $(".js-example-basic-multiple").select2({ maximumSelectionLength: 4, data: corrCodeArray }); |
}
注意:当我给select2元素名称如
这对我有用:
1 | $("#company_dealer").val('Newly Selected Dealer').trigger('change'); |