Ajax从PHP加载更多

时间:2013-06-05 02:06:03

标签: php jquery ajax

更新

我想加载更多ajax按钮,我希望它从php文件加载数据,这将从数据库中提取数据。

我设法让它只加载一次,但是当我点击新的更多按钮时它不起作用。

以下是Javascript:

$(document).ready(function(){
    $(".more").click(function(){
        var ID = $(this).attr("id");
        if(ID) {
            $("#more"+ID).html('<img src="moreajax.gif" />');

            $.ajax({
                type: "POST",
                url: "more.php",
                data: "lastimg="+ ID,
                cache: false,
                success: function(html){
                    $("div#updates").append(html);
                    $("#more"+ID).remove(); // removing old more button
                }
            });
        } else {
            $(".morebox").html('The End');// no results
        }

        return false;
    });
});

这里有更多.php

$lastimg = mysql_real_escape_string($_POST['lastimg']);

$result = $mmhclass->db->query("SELECT * FROM `file_storage` WHERE `is_private` = '0' AND `file_id` < '$lastimg' ORDER BY `file_id` DESC LIMIT 10;", array(MYSQL_FILE_STORAGE_TABLE));

while($row=mysql_fetch_array($result))
{
$file_id = $row['file_id'];
$filename = $row['filename'];
?>
    <li>
        <?php echo $filename; ?>
    </li>
<?php
}
?>
<div id="more<?php echo $file_id; ?>" class="morebox">
    <a href="#" class="more" id="<?php echo $file_id; ?>">more</a>
</div>

3 个答案:

答案 0 :(得分:3)

它只运行一次,因为在你的ajax完成后,.more元素将在页面上是新的, 所以您附加到它的click事件处理程序不再有效。

您必须使用事件委派:

$('body').on('click', '.more', function () {
    // your code
});
  • 注意:jQuery 1.7+需要。

参考文献:

  • .on() - jQuery API文档

答案 1 :(得分:0)

我认为您可以使用jQuery live函数

$(".more").live("click", function(){ 

// Code here
});

答案 2 :(得分:0)

请试一试。我希望此代码对您有所帮助

$(document).ready(function(){
$(document).on('click','.show_more',function(){
    var ID = $(this).attr('id');
    $('.show_more').hide();
    $('.loding').show();
    $.ajax({
        type:'POST',
        url:'ajax_more.php',
        data:'id='+ID,
        success:function(html){
            $('#show_more_main'+ID).remove();
            $('.tutorial_list').append(html);
        }
    }); 
});

});

  

本教程为您提供帮助   http://webexpert-anilshah.com/create-load-data-blog-using-jquery-ajax-php-database/