2017-10-15 6 views
0

私はAjaxにチェックボックス配列を渡します。私のhtmlコード:だからチェックボックス複数の配列をajaxを使ってPHPに渡します

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

私はPHPにJSから配列を渡す必要があります。 私が提出し使用している場合は、私のような配列を取得:どのように私はAJAXを使用して、このような配列を生成することができます

Array 
(
    [42] => Array 
     (
      [0] => 42 
     ) 

    [43] => Array 
     (
      [task_types_tags] => Array 
       (
        [0] => 28 
        [1] => 29 
       ) 

     ) 

) 

を?

私はそれを試してみました:

var array = []; 
     $('.task_types:checked').each(function() { 
      array.push($(this).val()); 
     }); 

をしかし、これはどのように私はこの問題を解決することができます[42,28,29]

のように、間違った配列形式のですか?

答えて

1

これを試してみてください:

$(".task_types:checked").serialize(); 
関連する問題