Jquery hazır fonksiyon döngü içinde değerini yazdırmak

4 Cevap php

Ben yapmak için inetd yaşıyorum yapmak için nedense hala mümkün değil. Bana neden emin değil tıklama döngü içinde son değerini verir. İşte value which is been clicked istiyorum.

İşte benim kod:

$(document).ready(function() {
  var link = $('a[id]').size();
  //alert(link);
  var i=1;
  while (i<=link)
   {
 $('#payment_'+i).click(function(){
   //alert($("#pro_path_"+i).val());
  $.post("<?php echo $base; ?>form/setpropath/", {pro_path: $("#pro_path_"+i).val()}, function(data){ 
   //alert(data);
   $("#container").html(data);    
  });
 });
 i++;
   }
});

İşte placement_1, placement_2 .... href ler vardır ve pro_path Ben, değer göndermek istediğiniz değeri pro_path_1, pro_path_2, vb gibi kimliği ile gizli bir giriş türü tanımlanmış ve kod ben {var işte href s farklı kullanıcılar için değişir [(7)]}. Ben döngüde son değeri olsun ve ben bunu istemiyorum yürütmek ve uyarı nasılsa zaman, tıklandığında bu değeri olmalıdır.

I think onready event it should have parsed the document and the values inside the loop I’m not sure where I went wrong. Please help me to get my intended result.

Teşekkürler, bütün

4 Cevap

Sen yerel bir kopyasını kullanmak zorunda i:

$('#payment_'+i).click(function(){
    var i = i;  // copies global i to local i
    $.post("<?php echo $base; ?>form/setpropath/", {pro_path: $("#pro_path_"+i).val()}, function(data){ 
        $("#container").html(data);
    });
});

Aksi takdirde geri çağırma işlevi küresel i kullanacaktır.

Burada çoklu / eşzamanlı uyumsuz istekleri üzerinde bir not olduğunu:

AJAX üzerinden birden fazla istek gönderiyor beri sadece 2 eşzamanlı istekleri tarayıcılar tarafından desteklenen akılda tutmak gerekir.

Bu yüzden size son isteği sadece yanıt almak doğaldır.

Eğer bağlantıların her bir sınıf ekledi ve böyle bir şey yapmak ne varsa

$(function() {
 $('.paymentbutton').click(function(e) {
  $.post("<?php echo $base; ?>form/setpropath/",
   {pro_path: $(this).val()},
   function(data) {
    $("#container").html(data);
   });
  });
 });
});

Tıklanan link almak için $ (this) kullanımına dikkat edin.