2016-12-11 28 views
3

1つのシリアル化配列を正常に投稿しましたが、複数の配列をAJAXポストに投稿する方法がわかりません。ここに私のコードは次のとおりです。複数の配列を持つajaxデータをPHPに投稿

HTML

<td><input type="text" name='item_name[]' id="item_name" class="form-control" autocomplete="off"></td> 
<td><input type="number" name='quantity[]' id="quantity" class="form-control" autocomplete="off"></td> 

jqueryの

$("#create_order").click(function(){ 

    var item_name = $('[name="item_name[]"]').serialize(); 
    var quantity = $('[name="quantity[]"]').serialize(); 

    $.ajax({ 

     url: "includes/ajax_new_order.php", 
     data: {item_name:item_name, quantity:quantity}, 

     type: "POST", 

     success:function(data){ 

      $("#editModal").modal('hide'); 

      $('#create_order').html('<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Save'); 
     } 
    }); 
}); 

PHP

<?php require("../init.php"); 

    $item_name = $_POST['item_name']; 
    $quantity = $_POST['quantity']; 

    foreach (array_combine($item_name, $quantity) as $key1 => $key2) { 

     $query = $database->query("INSERT INTO order_tb(item,quantity) VALUES('$key1','$key2') "); 
     if ($query) { 
     echo "<p>Success</p>"; 
     } 
     else { 
     echo "<p>Failed</p>"; 
     } 
    } 
?> 

つのアレイが正常に動作しますしかし、2番目の配列を追加しようとすると、からのデータ:フィールドは機能しません。

+0

try serializeArray – Viney

答えて

-1

シリアライズ機能の代わりにマップ機能を使用できます。ここにサンプルコードがあります。 jqueryコードをこのサンプルコードで置き換えました。

$("#create_order").click(function(){ 

    //var item_name = $('[name="item_name[]"]').serialize(); 
    //var quantity = $('[name="quantity[]"]').serialize(); 

    var item_name =$('[name="item_name[]"]').map(function(){return $(this).val();}).get(); 
    var quantity = $('[name="quantity[]"]').map(function(){return $(this).val();}).get(); 


    $.ajax({ 

     url: "includes/ajax_new_order.php", 
     data: {item_name:item_name, quantity:quantity}, 

     type: "POST", 

     success:function(data){ 

      $("#editModal").modal('hide'); 

      $('#create_order').html('<span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Save'); 
     } 
    }); 
}); 
関連する問題