2016-09-20 36 views
0

我試圖循環通過ajax $.post方法作爲動態加載內容返回的元素。以下是代碼:

$.post(ajax_url, {action: 'filter-search-results', term_id: term_id}, function (res) { 
    $('.job_listings').empty(); 
    $('.job_listings').html(res); 
    $('.hotel-rate').each(function (i, obj) { 
     //... 

但是each函數沒有被執行。

當我觸發body click事件它的工作原理:

$.post(ajax_url, {action: 'filter-search-results', term_id: term_id}, function (res) { 
    $('.job_listings').empty(); 
    $('.job_listings').html(res); 
    $(document).on('click', 'body', function() { 
     $('.hotel-rate').each(function (i, obj) { 
      //... 

它工作正常。但我不希望each在任何情況下被綁定。如何在不觸發任何事件的情況下執行each函數?

+0

您試圖在帖子的結果中循環的'.hotel-rate'元素是什麼?如果是這樣,它們在$(res)對象中,而不在$ object – Draykos

+0

是的,它是在post中的結果。在發佈後,HTML內容的響應將發生變化。這裏'res'只會生成'HTML'內容。 – user3384985

+0

我編輯了我對問題的描述 – user3384985

回答

0

你爲什麼不試試這個:

var items = $('.hotel-rate'); 
$.each(items, function (index, value) {........ 

就像它在jQuery API documentation

0

您是否嘗試過的工作列表循環解釋反對它的填充後?

$.post(ajax_url, {action: 'filter-search-results', term_id: term_id}, function (res) { 
    var $jobs = $('.job_listings').html(res); 
    $jobs.find('.hotel-rate').each(function (i, obj) { 
     //... 
相關問題