jquery委托函数是半工作的

时间:2018-03-03 10:57:10

标签: jquery ajax

在之前的question我在使用表格中的多个下拉菜单作为选择列表时遇到问题,并且由于ZimSystem包含以下代码段而得到解决:

$(function(){
   $(".dropdown-menu").on('click', 'a', function(){
       $(this).parents('.dropdown').find('button').text($(this).text());
   });
});

如果表是手动创建的,这个代码段工作正常,在我的项目中使用ajax请求tbody的{​​{1}}记录,简而言之,它们将在加载html页面后添加。这使得以前的代码段不起作用。解决这个问题我正在使用jQuery tr。 这就是我所拥有的,第一个$('#myRecords').delegate()语句是登录到控制台但第二个不是。有谁知道为什么会出现这种情况?

我的代码段

log

表格

$('#myRecords').delegate(".dropdown-menu", "click", function(event){
  // $(this) = '.dropdown-menu'
  console.log($(this));
  $(this).on('click', 'a', function(){
    // $(this) = 'a'
    console.log($(this));
     $(this).parents('.dropdown').find('button').text($(this).text());
  });

1 个答案:

答案 0 :(得分:0)

我解决了!希望它能帮助其他人。

$('#myRecords').delegate(".dropdown-menu", "click", function(event){
  var status = event.target.text;
  $(this).prev('button').text(status);
});