2011-03-22 62 views
5

我有一個jQuery應用程序,用戶可以在輸入字段中將項添加到列表中。 我想在提交表單時將所有項目放在數組中,以便稍後可以使用php來處理它們。這是做到這一點的正確方法嗎?jquery,爲每個循環中的數組添加值

的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 
} 

回答

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); 
     }); 
}); 
+0

呀!我犯了一個錯誤,實際上我在原始代碼中的submit函數中有它。現在已經糾正了。我只是想知道這是否是最有效的方式來處理它。我很新的jQuery和PHP。 – elclanrs 2011-03-22 01:06:44

相關問題