3

後沒有工作,我有選擇的公司的名單,看起來像這樣:jQuery選擇修改DOM

<div id="selected_companies"> 
    <div class="company"> 
     <a> 
     <div class="delete_company"></div> 
     Company One 
     </a> 
    </div> 
    <div class="company"> 
     <a> 
     <div class="delete_company"></div> 
     Company Two 
     </a> 
    </div> 
</div> 

我想有「移動」每個.company DIV到一個單獨的#deleted_companies div時公司之一被點擊。我用jQuery這樣做:

$('#selected_companies .company a').on('click', function (e) { 
     /* Getting the company */ 
     var company_id = $(this).prev().prop('value'); 
     $('.form').append('<input type="hidden" name="deleted_companies[]" value="'+ company_id +'" />'); 

     var parent = $(this).parent(); 

     parent.appendTo('#deleted_companies'); 
     $('#deleted_companies').slideDown(300); 
}); 

當我點擊的公司之一,該.company DIV移動到所需的div(#deleted_companies),但是當我試圖在專區內達到它,它不執行如預期。例如,此代碼不起作用:

$('#deleted_companies .company a').on('click', function (e) { 
    alert('This should work.'); 
}); 

那麼,如何使警報工作?

回答

6

使用代表團,試試這個

$('#deleted_companies').on('click', '.company a', function (e) { 
    alert('This should work.'); 
}); 

這基本上是說看#deleted_companies(其存在於創建您綁定的時間)爲.company a這並不一定必須存在此之前是綁定創造它的工作。

+2

更多關於[直接與委託事件處理程序](http://stackoverflow.com/q/8110934/578288) –

+0

天才!我已經在這工作了好幾個小時了。我想我只是不知道如何搜索它。謝謝! – cgf

+0

真棒鏈接,@ RoryO'Kane,簡直不敢相信這是簡單的。謝謝一堆! – cgf