jQuery wrap() in on()

  • 本文关键字:on in wrap jQuery jquery
  • 更新时间 :
  • 英文 :


我使用以下代码包装复选框。

$('input[type="checkbox"]').wrap('<div class="checkableBox"/>');

这在第一页上运行良好,但每当使用AJAX从数据库加载一些新的复选框时,它就会停止包装它们。

那么,我如何在这里使用jQueryon()来防止aobe问题呢?或者有其他方法可以解决这个问题吗?

问候

在ajax成功中再次调用它

$.ajax({
    success:function(){
        $('input[type="checkbox"]').each(function(){
            if(!$(this).parent().is('.checkableBox'))
            {
                $(this).wrap('<div class="checkableBox" />');
            }
        });
    }
});

这是因为当您第一次调用它时,"extra"元素不是DOM的一部分。将您的代码放入一个函数中:

function wrapChecks(){
   $('input[type="checkbox"]').wrap('<div class="checkableBox"/>');
}

然后在页面加载时调用此函数,然后在ajax回调中再次

您是否在页面的ajax更新后调用jquery函数来执行此命令?如果没有,您应该这样做。
正如Jose所建议的,把包装放在一个函数中
ajax查询将额外的复选框加载到网站中后,执行一次检查(例如:父div的.change()事件,如果新数据尚未包装,则调用函数将其包装。)
您可以使用.Pparent()函数来检查父div是否为"checkablebox"。如果不是,那么用div checkablebox包装新加载的复选框。

最新更新