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