首页 > 解决方案 > 从 php 中的 jquery 循环获取数据

问题描述

我有一个表单,我通过 jquery 在其中一个 div 中添加新行

<div class="packs">
  <div>
     <input type="text" placeholder="Enter Name" name="pname" id="pname" value="Test" />
     <img class="add-icon" src="media/icon/add.png" height="30" width="30">
  </div>
</div>

在 jquery 中,我这样做:

$(document).ready(function(){      
  $(".packs").on('click', '.add-icon', function () {
     $(".packs").append('<div><input type="text" placeholder="Enter Name" name="pname" id="pname" value="Test" /><img class="add-icon" src="media/icon/add.png" height="30" width="30"></div>');
  });
});

我需要的是获取我添加的所有元素的数组。 $_POST['pname']只返回最后输入的元素。

有人可以建议在这里做什么。

标签: phpjquery

解决方案


如果您想存储在数据库中,我假设您在填写结束时提交此表格。

然后,您应该将索引添加到各个行。您将在 variable 下获得数组$_POST['pname']

$(document).ready(function(){      
    let id_no = 0;
    $(".packs").on('click', '.add-icon', function () {
        id_no += 1;
        $(".packs").append('<div><input type="text" placeholder="Enter Name" name="pname[' + id_no + ']" class="pname" value="Test" /><img class="add-icon" src="media/icon/add.png" height="30" width="30"></div>');
    });
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="packs">
    <div>
        <input type="text" placeholder="Enter Name" name="pname[0]" id="pname" value="Test" />
        <img class="add-icon" src="media/icon/add.png" height="30" width="30">
    </div>
</div>


推荐阅读