我在将数据发送到服务器时调用了$('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/
答案 0 :(得分:0)
如果当您发送要处理的数据(php,asp,java)并且即使选择了多个值而仅接收单个值时,则需要在“选择”名称的末尾添加[],因为如果不包含这些值,则输入仅传递一个值,如果在名称末尾包含[],则将传递所有选定的值,例如:
<select id="comboData" name="comboData[]" class="select2" multiple="multiple"></select>
$('#comboData').select2()