动态刷新div内容

时间:2011-10-26 17:02:57

标签: php jquery mysql codeigniter

您好,我在添加新记录时遇到div重新加载问题。我想要做的是首先显示一个加载图像然后在插入记录后它将重新加载div。

$("a.follow").click(function(event) {
    event.preventDefault();
    $("#flash").show();
    $("#flash").fadeIn(300).html('<img src="ajax-loader-transp.gif" />Loading Result.');

    $.ajax({
        //url: $(this).attr("href"),
        success: function(msg) {
            $("#results_div").load('http://localhost/<app_name>/index.php/<contoller>/index');
        }
    });
    return false;
});

这就是我在尝试代码时所达到的目的,它刷新了div上的整个物理页面。不是理想的div本身。 。 。

对不起,伙伴们我很擅长使用jQuery和BTW,这是在CodeIgniter中。

3 个答案:

答案 0 :(得分:2)

你的问题是,codeigniter显然会返回一个完整的html页面。你有两个选择:
只返回一个片段(我不知道如何在CI中执行此操作)或使用jQuery来解析所需的div。这可以使用以下代码完成,假设您想要的div名为<div id="results_div">...</div>

$("a.follow").click(function(event) {
    event.preventDefault();
    $("#flash").show();
    $("#flash").fadeIn(300).html('<img src="ajax-loader-transp.gif" />Loading Result.');
    $("#results_div").load('http://localhost/<app_name>/index.php/<contoller>/index #results_div', function(){ $('#flash').hide(); });
});

答案 1 :(得分:1)

你可以在#results_div div中包含HTML吗?

答案 2 :(得分:1)

这是我最好的猜测,没有html可以使用:

$("a.follow").click(function(event) {
        event.preventDefault();
// show the linke
        $("#flash").fadeIn(300).html('Loading Result.');
//ajax load the 'mini div' result -- i guessed that this url pulls back the div you want
        $("#results_div").load('http://localhost/<app_name>/index.php/<contoller>/index', function(data, text, xhr){
      $('#flash').fadeOut("fast");
    });
        });