通过Ajax加载的jQuery动态内容

时间:2013-05-01 14:52:08

标签: php jquery ajax

嘿所有我想要关闭页面加载时显示的div。但是,这样做:

jQuery(document).ready(function () {
   jQuery('#moreDetailsTable').slideUp("fast", function () {});
});

当页面加载时似乎没有关闭它,因为它使用 ajax 通过PHP代码动态填充。

ajax调用的php看起来像这样:

echo '<div id="moreDetailsTable" class="widefat fixed comments">
    Testing this out<br />
    Testing this out<br />
    Testing this out<br />
    Testing this out<br />
    Testing this out<br />
</div>
   ect ect.....

我知道代码有效,因为我只是这样做:

jQuery(document).on('click', '#moreDetailsTable', function() {
    jQuery('#moreDetailsTable').slideUp("fast", function () {
        console.log('done');
    });
});

当我点击它时它会滑动。

我如何调用 .slideUp ,因为它是动态填充的,而不是在页面上开始?

2 个答案:

答案 0 :(得分:2)

请参阅jQuery.ajaxComplete()事件处理程序。这将做你想要的。

示例:

jQuery(document).ajaxComplete(function () {
   jQuery('#moreDetailsTable').slideUp("fast", function () {});
});

答案 1 :(得分:0)

当ajax返回时调用该函数。加载内容后。类似的东西:

$('.ajaxLoading').show();
    $.ajax({
    type:'POST',
    url:'url',
    dataType: "json"}).done
    (function(response){
        alert(response.message);
        $('.ajaxLoading').hide();
        //window.location = "/dash_board";
            $('#moreDetailsTable').slideUp("fast", function () {});
    }).fail(function(response,textStatus){
        alert('Something goes wrong. Please try again.');
        $('.ajaxLoading').hide();
        //alert(textStatus);
    });