簡體   English   中英

如何遍歷數組中的附加輸入

[英]How to loop through appended inputs inside an array

我正在通過API提交附加的輸入。 每次的項目數量都不相同。 當我提交表單時,輸入已成功提交並返回了一個對象,但僅提交了最后附加的輸入。 如何在顯示的數組內運行循環,或者在這里運行哪種循環語法,以便為每個附加輸入提交新項? 感謝您的考慮。

<script>
$(document).ready(function(){
    $("#new").click(function(){
        $("table").append("<tr><td><input type= 'text' name = 'item[]'</td> </tr>");
    });
});
</script>

<?php 

在輸入名稱為“ item []”的表單/表格之后,我的PHP:

if (isset($_POST['submit']))
{
   $size = sizeof($_POST['item']);
   for ($i = 0; $i < $size; $i++)  
   {
      $product = $_POST['item'][$i];
   }
   $fields = array(
      'customer' => 992058,
      'items' => [
                    [
                        'name' => $product,
                    ]
                 ]
   );

// HERE IS A CURL CALL that POSTS $fields AND RETURNS JSON
?>

我想返回的JSON可能看起來像

"items":[{"name":"product1"}][{"name":"product2"}];

而不是我得到的是

"items":[{"name":"product2"}]

這是您需要做的:

if (isset($_POST['submit']))
    {

        $size = sizeof($_POST['item']);
        $products = [];

        for ($i = 1; $i < $size; $i++)  

            {

                $products[]['name'] = $_POST['item'][$i];
            }

            $fields = array(

                        'customer' => 992058,


                        'items' => $products
                            );

您的代碼中的問題是,var $product在循環中僅獲得最后的插入,您需要在循環內創建一個數組。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM