[英]How to get all toggle values from form submission in jquery?
我有一个多选择字段,当选择多个选项时,它会切换更多字段。 例如
<label for="projectType">Project Type<span class="icon-required">Required</span></label>
<select multiple="multiple" id="my-select" name="my-select[]">
<option value='elem_1'>elem 1</option>
<option value='elem_2'>elem 2</option>
<option value='elem_3'>elem 3</option>
<option value='elem_4'>elem 4</option>
</select>
#if($existelem1.Type1)
<fieldset class="group elem1" style="display:none;">
<legend><span>Type1</span></legend>
#foreach($elem1coll in $elem1collOptions)
<span class="radio">
<input class="radio" type="radio" name="Type1" id="elem1coll_${elem1coll}" value="$elem1coll"#if("${Type1}" == $elem1coll) checked="checked" #end>
<label for="elem1coll_${elem1coll}">$elem1coll</label>
</span>
#end
</fieldset>
#end
#if($existelem1.Type2)
<fieldset class="group elem1" style="display:none;">
<legend><span>Type2</span></legend>
<span class="radio">
#foreach($elem1Po in $elem1PoOptions)
<input class="radio" type="radio" name="Type2" id="elem1Po_${elem1Po}" value="$elem1Po"#if("${Type2}" == $elem1Po) checked="checked" #end>
<label for="elem1Po_${elem1Po}">$elem1Po</label>
#end
</span>
</fieldset>
#end
例如,如果我选择“元素1”和“元素2”,则会分别切换两个复选框。但是当我使用以下命令检查值时:
var params = compress(jQuery("#createMyForm").serialize());
console.log(params)
prints projectType=elem1,elem2&elem1.Type1=Yes&elem1.Type2=Yes&elem2.Type1=&elem2.Type1=&
它仅发送“ elem 1”复选框的值,并跳过“ elem 2”复选框。 我怎样才能解决这个问题。
似乎您没有从多个下拉列表中获得所有选定的选项。
我建议使用。
var values = [];
var keys = [];
$('#my-select :selected').each(function(i, selectedElement) {
values[i] = $(selectedElement).val();
keys[i] = $(selectedElement).text();
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.