2017-02-23 72 views
0

我希望jQuery能夠跟蹤多個$ .posts並知道它指向哪一個成功。我在一個非常慢的互聯網連接上運行這個應用程序,所以如果有一堆這些帖子,我想知道哪個帖子是成功的。隨着我當前的代碼,它似乎$ EL是在回調函數

function go(d){ 
    $el = $("[data-id='"+ d +"']"); 

    $.post(
     'receive.php', 
     {tickets:t}, 
     function(req, err){ 
      $el.removeClass("checked"); 
    }); 
} 
+1

你應該聲明你的變量。 – SLaks

+0

如果你在一個函數中聲明一個變量,它將只在該函數和它的所有子函數中可用。因此,您需要在全局範圍內聲明它以使其在全局範圍內可用。一個常見的(但不是完全理智的)做法是使用'window'對象來存儲數據。如果你沒有太多的注意力(對你的所有存儲使用一個變量),那沒問題。另一種選擇是使用更多現代技術,例如['localStorage'](https://html.spec.whatwg.org/multipage/webstorage.html#dom-localstorage)。但是,它還沒有完全支持。 –

+0

我看不到任何地方,它隱藏在哪裏? –

回答

1

我建議在scope in javascript讀了未設置。通過簡單地將$el = $("[data-id...")變量局部化爲函數(var $el = ...),它應該對每個$.post()調用的範圍保持唯一,以確保在回調中更新了正確的元素。

相關問題