Jquery 选择2,手动分配一个值,但尝试获取该值时返回null

Jquery 选择2,手动分配一个值,但尝试获取该值时返回null,jquery,jquery-select2,Jquery,Jquery Select2,我有一个奇怪的情况 根据选择2个文档 我可以使用 $("#e1").select2("data",{id:"4", text: "some value" }); 但是,当尝试使用 1.5万美元 正在返回null 我错过什么了吗 在这里,fiddle根据调用data函数获取或设置选择。它实际上并不创建任何选项 下面是在HTML中初始化select的一个示例: <select id="e1" style="width:300px"> <option value="5"&g

我有一个奇怪的情况 根据选择2个文档 我可以使用

$("#e1").select2("data",{id:"4", text: "some value" });
但是,当尝试使用 1.5万美元 正在返回null

我错过什么了吗

在这里,fiddle根据调用data函数获取或设置选择。它实际上并不创建任何选项

下面是在HTML中初始化select的一个示例:

<select id="e1" style="width:300px">
    <option value="5">Other Value</option>
    <option value="4">some value</option>
</select>

您可以看到,当select2初始化并调用data函数时,将选择第二个选项。

您的代码有两个问题,第一个问题是,当您需要从js代码中添加数据,而不是使用标记在HTML中显式地添加数据时,最好使用输入而不是选择,第二种方法是在选择任何数据或事件之前读取所选数据,并将选项设置为默认值

因此,请按如下方式修改您的HTML:

<input type="hidden" id="e1" style="width:200px;"/>
<br/><br/>
<input type="text" id="t1"></input>
<br /><br />
<input type="button" id="Submit" value="Submit" />
$("#e1").select2({"data":[{id:"1", text: "some value 1" }, {id:"2", text: "some value 2" }]});

$("#Submit").click(function(){
    $("#t1").val("option 1: "+ $("#e1").val());
});

很酷,但如何添加该选项?我从一个空select2开始。这不是关于使用回调设置初始值,而是关于正确设置我试图添加的选项。提前谢谢!您必须根据文档将其绑定到。一个正在工作的fiddle显示了如何将数据数组传递给构造函数