2013-07-21 52 views
0

我目前正在刷新一個div如下。嵌套的DIV - 防止內部DIV刷新

Main.php

<script type="text/javascript"> 
    var auto_refresh = setInterval(
    function() 
    { 
    $('#load_me').load('ajax.php').fadeIn("slow"); 
    }, 10000); // autorefresh the content of the div after 
       //every 10000 milliseconds(10sec) 
    </script> 

但是頁面ajax.php有一些DIV的的,不應該得到刷新。有沒有辦法做到這一點?也就是說,防止特定的DIV不惜任何代價(用他們的ID)刷新。

這是必需的原因是,DIV的文本框在輸入文本時被刷新。

回答

1

你總是可以選擇刷新什麼樣的元素,但這樣做相反,離開元素出來會比較複雜,特別是如果這些元素嵌套應刷新等

var to_refresh = ['id1', 'id2', 'id3']; 

var auto_refresh = setInterval(function() { 
    $.each(to_refresh, function(_,id) { 
     $('#'+id).load('ajax.php #'+id).fadeIn("slow"); 
    }); 
}, 1000); 
+0

能否請你解釋元素中進一步研究上述方法如何防止內部div被刷新?說id1有3個內部div。所有這些都必將被刷新。不是嗎? – anandsathya

+0

是的,這就是爲什麼最好重構頁面,以便定期刷新那些沒有輸入元素的DIV。 – techfoobar

+0

你根本無法刷新這樣的元素,並期望不刷新子元素。不可能!這就是爲什麼你有一段時間試圖過濾出元素而不是刷新內容很多的嵌套,而只是針對應刷新的元素會更容易。總而言之,你有一個設計缺陷,你不應該這樣做,因爲你應該已經創建了標記,所以你根本不必做任何過濾,至少這是我的意見。 – adeneo