我尝试将复选框数组传递给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]

我怎么解决这个问题?

最佳答案

尝试这个:

$(".task_types:checked").serialize();

07-24 09:50
查看更多