我尝试将复选框数组传递给ajax。我的HTML代码:
{foreach from =$allTaskTypes key=typeId item=type}
<div class="mainDivTaskType">
<input class="task_types" value="{$typeId}" name="task_types_category[{$typeId}][]" type="checkbox">{$type.type_name}<br>
{if $type.subtags neq ''}
<div class="taskTypesLeadNoteTagDiv">
{foreach from =$type.subtags key=tagId item=tag}
<input value="{$tag.id}" class="task_types" type="checkbox" name="task_types_category[{$typeId}][task_types_tags][]">{$tag.name}<br>
{/foreach}
</div>
{/if}
</div>
{/foreach}
因此,html的例子是:
<div class="mainDivTaskType">
<input class="task_types" value="42" name="task_types_note_category[42][]" type="checkbox">
u7utu
<br>
</div>
<div class="mainDivTaskType">
<input class="task_types" value="43" name="task_types_note_category[43][]" type="checkbox">
New1
<br>
<div class="taskTypesLeadNoteTagDiv">
<input class="task_types" value="28" name="task_types_note_category[43][task_types_tags][]" type="checkbox">
tag1
<br>
<input class="task_types" value="29" name="task_types_note_category[43][task_types_tags][]" type="checkbox">
tag2
<br>
</div>
</div>
我需要将数组从js传递给php。 如果我使用提交,我会得到如下数组:
Array
(
[42] => Array
(
[0] => 42
)
[43] => Array
(
[task_types_tags] => Array
(
[0] => 28
[1] => 29
)
)
)
如何使用ajax生成这样的数组?
我试过了:
var array = [];
$('.task_types:checked').each(function() {
array.push($(this).val());
});
但这是错误的数组格式,如[42,28,29]
我该如何解决这个问题?
答案 0 :(得分:1)
试试这个:
$(".task_types:checked").serialize();