我正在使用select2版本4.0,我正在尝试对选择框进行编程选择,该选择框从ajax调用获取其数据.
在文档中,我发现如何通过编程方式将值设置为常规select2,但是我无法弄清楚如何使用ajax select进行操作.
如果我记得正确,在旧版本中,您可以通过使用以下命令将数据传递给select2来设置当前值:
jQuery("selectBox").select2("data",data)
我已经尝试过,并发送了一个数据对象,id,文本和结果,但没有可见的发生,当我查询选择框的状态时,要查看所选的值,它返回null.
这个选项是否被删除,或者只是改变了?在文档中我可以在哪里找到,或者如何达到理想的行为?
解决方法
实现此目的的唯一方法是首先添加< option>使用您要选择的数据选择dom,然后再选择它,就像使用常规选择框一样.这是kevin-brown的官方答案,也是他们的github项目页面.
https://github.com/select2/select2/issues/3273
所以,基础,如果你知道你想选择什么,你可以轻松创建一个<选项>元素从它添加到原始的选择框,然后选择它的值:
var option=jQuery("<option>").attr("value","your_id_here").html("your_text_here"); jQuery("selectBox").append(option); jQuery("selectBox").val("your_id_here").trigger("change");