2011-10-26 215 views
0

您好,我在添加新記錄時遇到div重新載入問題。我想要做的是首先顯示一個加載圖像,然後在插入記錄後它將重新加載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和順便說一句,這是在CodeIgniter。

回答

2

你的問題是,笨顯然返回整個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(); }); 
}); 
+0

哇,先生你是個天才!你是男人!哇噢。工作順利。 萬分感謝!!!!!謝謝! – easyb

1

你可以用#results_div div包含HTML嗎?

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"); 
    }); 
     }); 
+0

感謝您的回答,先生連結http://本地主機/ /index.php/ /指數是當前網址div應該加載的頁面,但它仍然不起作用謝謝你。 。 。 – easyb