Jquery,在每个循环中为数组添加值

时间:2011-03-22 00:58:39

标签: 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
}

1 个答案:

答案 0 :(得分:13)

这个想法很合理。不太清楚的是,您的示例现在填充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);
      });
});