serialize不适用于select2库

时间:2014-06-29 02:09:31

标签: jquery jquery-select2

我在将数据发送到服务器时调用了$('form').serialize()但是我的select2选择值没有被发送。尽管我在#my_field上初始化select2,但即使我从选择框中选择了一个条目,此输入的值也始终为空白。

<input id="my_field" name="my_field" />

// initialize select 2
$('#my_field').select2()

// my attempt
$('#my_field').on "select2-selecting", (e) ->
  selectedVal = $('#s2id_'+e.target.id).find('.select2-chosen').html()
  $( this ).val(selectedVal)

我尝试了一件看起来应该有用的东西,但事实并非如此!我在这里尝试做的是观察选择2上的更改事件,当手动更改时,更新#my_field with所选值的值。我测试了它并且它正确触发,当我调试它时也会更新输入值但是在这个事件执行之后,该值又回到空白,所以我假设某些东西正在重置它。

将输入字段的值设置为所选值的正确方法是什么?

编辑此处转载的问题 http://jsfiddle.net/LUsMb/16/

  • 开始输入&#39; fe&#39;并从列表中选择一个条目
  • 查看html,原始输入标记没有设置值

1 个答案:

答案 0 :(得分:0)

如果当您发送要处理的数据(php,asp,java)并且即使选择了多个值而仅接收单个值时,则需要在“选择”名称的末尾添加[],因为如果不包含这些值,则输入仅传递一个值,如果在名称末尾包含[],则将传递所有选定的值,例如:

<select id="comboData" name="comboData[]" class="select2" multiple="multiple"></select>

$('#comboData').select2()