2011-03-22 16 views
5

Kullanıcının bir giriş alanından bir listeye öğe ekleyebileceği bir jQuery uygulamasına sahibim. Formu gönderdiğinizde tüm öğeleri bir diziye koymak istiyorum, böylece bunları daha sonra php ile değiştirebilirim. Bunu yapmanın doğru yolu bu mu?Jquery, her döngüde diziye değer ekle

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 
} 

cevap

13

fikri sestir. Çok net olmayan şey, örneğinizin şu anda items'u doldurmasıdır, ancak submit işleyicisi elbette gelecekte bir noktada çağrılacaktır. Liste öğelerinin o zamana kadar değişmiş olması mümkün mü?

Eğer öyleyse,

$("#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

Evet .: ör submit işleyicisi içinde kod "öğeleri paketi" taşımak gerekir! Bir hata yaptım, aslında orjinal kodumda gönderme işlevinin içinde var. Şimdi düzeltildi. Sadece bunun bununla baş etmenin en etkili yolu olup olmadığını bilmek istedim. Ben jquery ve php için oldukça yeni. – elclanrs