编程选择select2,它通过Ajax检索其数据

Ada*_*yai 13 ajax jquery jquery-select2 jquery-select2-4

我正在使用select2版本4.0,我正在尝试对选择框进行编程选择,该框从ajax调用获取其数据.

在文档中,我找到了如何以编程方式将值设置为常规select2,但我无法弄清楚如何使用ajax select来执行此操作.

如果我没记错的话,在旧版本中,您可以通过使用以下命令将数据传递给select2来设置当前值:

jQuery("selectbox").select2("data", data)
Run Code Online (Sandbox Code Playgroud)

我已经尝试了这个,并发送了一个带有,id,text和result的数据对象,但没有任何可见的事情发生,当我查询选择框的状态时,要查看所选的值,它将返回null.

此选项已删除,或只是更改?我在哪里可以在文档中找到它,或者我怎样才能实现所需的行为?

Ada*_*yai 8

实现这一目标的唯一方法是首先<option>使用您想要选择的数据添加到选择dom,然后选择它,就像使用常规选择框一样.这也是kevin-brown在github项目页面上的正式答案.

https://github.com/select2/select2/issues/3273

所以,基本上,如果您知道要选择什么,可以轻松地<option>从中创建一个元素,将其添加到原始选择框,然后按其值选择它:

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");
Run Code Online (Sandbox Code Playgroud)