php - Jquery,在每个循环中向数组添加值

标签 php jquery arrays forms submit

我有一个 jQuery 应用程序,用户可以在其中从输入字段向列表添加项目。 我想在您提交表单时将所有项目放入一个数组中,以便稍后我可以使用 php 来操作它们。这是正确的做法吗?

jQuery:

$("#form").submit(function(){
   var items = [];
   $("#items li").each(function(n){
      items[n] = $(this).html();
   });
   $.post(
      "process.php", 
      {items: items}, 
      function(data){
          $("#result").html(data);
      });
});

PHP:

$items = $_POST["items"];
foreach($items as $item){
    //Something here
}

最佳答案

这个想法是合理的。不太清楚的是,您的示例现在填充 items,但是 submit 处理程序当然会在将来的某个时候被调用。到那时列表项是否可能已经更改?

如果是这样,您需要在 submit 处理程序中移动“打包项目”代码,例如:

$("#form").submit(function(){
    var items = [];
    $("#items li").each(function(n){
        items[n] = $(this).html();
    });

   $.post(
      "process.php", 
      {items: items}, 
      function(data){
          $("#result").html(data);
      });
});

关于php - Jquery,在每个循环中向数组添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5385555/

相关文章:

php - 对列表中的数据进行排序

php - 从 PHP 响应返回数据?

jquery - 通过 javascript 代码以编程方式添加按钮后,在按钮上应用 JQuery 移动样式

arrays - 将单元格值拆分为数值数组

C++ 返回结构数组

arrays - 将数组传递给函数名称冲突

php - 通过命令行执行使用 ZendGuard 编码的 PHP 脚本

PHP ksort 意外行为

jQuery 调度事件?如何

内联 SVG 上的 Jquery toggleClass