2014-07-02 123 views
0

我添加动态超链接,并希望执行点击事件时,如果用户点击它,但它不会启动。在表中点击动态添加超链接点击

<table id="assinged_areas" class="table table-bordered table-condensed table-condensed"> 
      <tbody></tbody> 
     </table> 

当用户选择在下拉一些选项,然后它去,并从服务器领域则AJAX通过将数据传递给这个函数

function updateAssignedAreas(data) { 

      debugger; 
      var areas = data.split(','); 
      $.each(areas, function (i, item) { 
       $('#assinged_areas > tbody:last').append('<tr><td>' + item + '</td><td>' + '<a class=\'btn btn-danger\'><i class=\'fa fa-minus-circle\'></i></a>' 
        + '</td></tr>'); 
      }); 
     } 

这是取消分配,当用户点击该功能得到调用这个函数必须调用但在所有

$('.btn-danger').click(function (parameters) { 
      debugger; 
     }); 

回答

1

使用event delegation动态元素

不点火
$("#assinged_areas").on("click", '.btn-danger', function (parameters) { 
    var row=$(this).closest("tr"); 
    alert($(this).closest("tr").find("td").eq(0).html()); //will get the inner text of first td 
}); 

事件代理允许您将单个事件侦听器附加到父元素,该子元素将为所有匹配选择器的子元素触发,无论这些子元素是现在存在还是将来添加。

+1

作为Anoop说,http://learn.jquery.com/events/event-delegation/ –

+0

嗨,谢谢你的答案,我怎样才能得到单击按钮的行细节 –

+0

@ineffablep你可以分享最后呈现的HTML? –