【问题标题】:Jquery, add value to array in each loopJquery,在每个循环中向数组添加值
【发布时间】:2011-07-20 02:58:58
【问题描述】:

我有一个 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
}

【问题讨论】:

    标签: php jquery arrays forms submit


    【解决方案1】:

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

    【讨论】:

    • 是的!我犯了一个错误,我实际上在我的原始代码中的提交函数中有它。现在已经更正了。我只是想知道这是否是处理它的最有效方法。我对 jquery 和 php 很陌生。
    猜你喜欢
    • 2019-09-20
    • 1970-01-01
    • 1970-01-01
    • 2019-11-07
    • 2020-10-25
    • 1970-01-01
    • 2018-12-30
    • 2018-06-30
    相关资源
    最近更新 更多