2017-10-15 119 views
0

我嘗試通過複選框數組到ajax。我的html代碼:通過複選框多個數組到php使用ajax

{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]

我怎樣才能解決這個問題?

回答

1

試試這個:

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