select2,手动分配一个值,但是当尝试获取该值时,它返回null

时间:2014-08-23 02:22:32

标签: jquery jquery-select2

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

手动分配值
$("#e1").select2("data",{id:"4", text: "some value" });

但是在尝试使用时获取值     $( “#E1”)。VAL() 正在返回null

我错过了什么吗?

这里有一个小提琴http://jsfiddle.net/mspasiuk/j69821ce/

2 个答案:

答案 0 :(得分:1)

根据the documentation,调用数据函数"获取或设置选择。"它实际上并没有创建任何选项。

这是updated fiddle初始化HTML中的选择:

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

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

答案 1 :(得分:0)

您的代码有两个问题,第一个是当您需要从js代码添加数据而不是HTML中显式(使用<option>标记)时,最好使用input代替{ {1}},第二个是您要在选择任何数据或事件之前读取所选数据作为默认选项。

所以像这样修改你的HTML:

select

和JS一样:

<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" />

<强> Check JSFiddle Demo