2014-04-01 23 views
0

尋找問題的解決方案後,我可能找到了轉折點並可以定義問題。 我的代碼使用jQuery和Ajax,並在點擊表格單元格時觸發。輸出是並且是一個表格,我在一段時間內刷新。 那麼,當我點擊一個單元格,然後在另一個單元格上,輸出基於單元格A和單元格B的傳輸值在輸出之間切換。點擊表格導致多個ajax操作正在運行jQuery

我看了一下螢火蟲,瞧了一眼,原因。

GET http://localhost/trading/getuser_exp.php?q=NYSE 
GET http://localhost/trading/getuser_exp.php?q=NASDAQ 

這兩個值是平行的,這是錯誤的。換句話說,如果我之前點擊紐約證券交易所,價值是紐約證券交易所,那麼我點擊納斯達克,價值不再是紐約證券交易所,但納斯達克。

的代碼的用途是

$(document).ready(function(){ 


$(".information").click(function() { 
var str = $(this).closest("tr").find("#nr").text(); 

window.setInterval(function(){  
      $.get("getuser_exp.php", 
      { q:str }, 
      function(data) { $('.stock').html(data); 
      } //function data 

     ); 
}, 3000); 


}); //information click 


}); //document ready 

現在是什麼原因導致多個發射?在我眼中 - 坦率地說,初學者 - 沒有什麼是多次射擊或接受多重價值。無論如何,我都會學習。

感謝您的幫助和幫助。

回答

2

您需要清除舊的間隔並開始一個新的間隔。這就是爲什麼當每次點擊開始一個新的間隔計時器時你會得到多次發射。

$(document).ready(function(){ 
    var timer = null; 
    $(".information").click(function() { 
     var str = $(this).closest("tr").find("#nr").text(); 
     if(timer!=null) { 
     clearInterval(timer); 
     } 
     timer = window.setInterval(function(){  
     $.get("getuser_exp.php", 
      { q:str }, 
      function(data) { 
       $('.stock').html(data); 
      } 
     ); 
     }, 3000); 
    }); 
}); 
+0

它的工作原理!大!謝謝你,帕特里克。我將分析您的解決方案並學習未來。真的感謝。 – user3088932

相關問題