2014-10-27 35 views
0

我想show事件添加到組的DIV作爲Ajax響應的到來元素,基本的設置是這樣的:附加事件從Ajax調用

Call -> Ajax success -> append X amount of divs 

div的是這樣的:

<div>Content <a href="#" id="showaddcontent-1">Show additional Content</a></div> 
<div class="hidden" id="hiddendiv-1">Additional content</div> 

<div>Content <a href="#" id="showaddcontent-2">Show additional Content</a></div> 
<div class="hidden" id="hiddendiv-2">Additional content</div> 

依此類推。

我嘗試添加的點擊功能,每一個環節和放映功能這樣每個格:

$(function() { 
var foreachid = 0; 
$.ajax({ 
.... 
success: function(html){ 
    $('[id^="showaddcontent-"]').each(function() { 
    var foreachid = foreachid + 1; 
    $(document).on('click', '#showaddcontent-'+foreachid, function(){ 
    $("#hiddendiv-"+foreachid).show(); 
    }); 
}); 

什麼,似乎這裏是什麼問題?

+1

你只需要1個事件處理程序 - 用'this'並得到''next' DIV hidde'n並顯示它。 – tymeJV 2014-10-27 20:42:51

回答

1

這裏是你如何需要附加的事件偵聽器:

$(function() { 
    $(document).on('click', 'div[id^="showaddcontent-"]', function() { 
     var foreachid = this.id.split('-').pop(); 
     $("#hiddendiv-"+foreachid).show(); 
    }); 

    $.ajax({ 
     //.... 
     success: function(html){ 
      //obtain data and append divs to DOM 
     } 
    }); 
}); 
+0

不得不將它改爲:'$(document).on('click','[id^='showaddcontent-「]',function(){'但現在工作正常,謝謝! – user327685 2014-10-27 20:59:44

+0

太棒了!很高興我能成爲的幫助。 – PeterKA 2014-10-27 21:01:30