2012-09-22 75 views
0

我想獲得先前的HTML和重新載入,像這樣一個div裏面裏面的內容:jQuery文檔()函數顯示一整頁,而不是一個div

$("#start_val").change(function(){ 


    var script = $("#search_result_cont").html(); 
    $("#search_result_cont").empty(); 
    $("#search_result_cont").html(script); 

}); 

在這裏第一次我試圖獲取search_result_cont內部html到腳本變量 然後我通過使用empty()函數 使search_result_cont div空,然後我試圖再次插入相同的html到search_result_cont。但是當我做到這一點的HTML全網頁,而不是search_result_cont DIV

這裏面DISPLY開始是什麼searchresult_cont有

<div class="search_result_cont" id="search_result_cont"> 
<script language="javascript"> 

var offers = <?php echo $jsonencoded;?>; 
var node = offers.offer; 
var resultpage = parseInt(node.length)/10; 
var result_start = document.getElementById('start_val').value; 
var result_limit = parseInt(result_start) + 9; 



for(var i=result_start;i<=result_limit;i++) 
{ 
    document.write("<div class='result_box'><div class='result_left_area'><div class='result_title'>"+node[i].name+"<div class='result_stars'></div></div><div class='result_pic'><div class='show_image'></div><img src='"+node[i].image_url+"' style='height:100%; width:100%;' /></div><div class='result_icons_cont'><div class='share_icon' title='Share'></div><div class='information_icon' title='information'></div><div class='review_icon' title='Reviews'></div><div class='miles_icon' title='View Location' ></div></div><!--result_icons_cont ends--><div class='result_links_cont'><div class='result_link'>Website 1<span>"+node[i].currency+" "+node[i].price_no_vat+"</span></div></div><div class='view_all_prices'>View all prices from 12 websites <span style='font-size:20px; color:#32ccfe;'>&raquo;</span></div></div><div class='result_best_site'><div class='best_site'><img src='images/hotels/267_mx_bg.png' /></div><div class='round_corner_btn' onclick='window.open="+node[i].offer_url+"'></div></div><!--result_best_site ends --><div class='information_cont' id='share_info'>Shares: 6</div><!--information_cont share_info ends--><div class='information_cont' id='information_info'>Hotel Address:- "+node[i].address+","+node[i].city+"<br />Website:- <a href='"+node[i].offer_url+"'>Link</a><br />About:- "+node[i].description+"</div><!--information_cont information_info ends--><div class='information_cont' id='review_info'><input type='hidden' id='review_value' value='' /></div><!--information_cont review_info ends--><input type='hidden' id='lonlat' value='20.63536,476.98787' /><div class='information_cont' id='miles_info'></div><!--information_cont miles_info ends--><input type='hidden' id='picture_count' value='' /><input type='hidden' id='picture_url' value='' /><div class='information_cont' id='images_info'></div><!--information_cont images_info ends--><div class='information_close' title='close'></div></div><!--result_box ends here-->"); 
    } 
    document.write("<div class='pagination_btn_cont'>"); 

for(var page = 1;page<=resultpage;page++) 
{ 
     document.write("<div class='pagination_btn'>"+page+"</div>"); 
    } 
    document.write("</div><!--pagination_btn_cont ends-->"); 

    </script> 


</div><!--search_result_cont ends here--> 
+0

爲什麼?什麼試圖實現? – undefined

+0

我在這個div裏面有一個javascript,它顯示了jason的值,我顯示了1-10個結果,並且顯示了下一個11-20的結果,我需要刷新那個代碼,這樣就可以把相同的腳本放到一個php文件中在那裏我已經傳遞了開始值和相同的json代碼,以便JavaScript可以讀取傑森代碼並開始顯示結果,無論我想要什麼 –

+0

這樣做我也以這種方式還創建了一個隱藏的文本框命名爲# start_val,當它的值發生變化時,這個事情就會完成 var script = $(「#search_result_cont」)。html(); $(「#search_result_cont」)。empty(); $(「#search_result_cont」)。html(script); 但這是在整頁顯示結果。它刪除所有以前的內容,並開始只顯示我在search_result_cont –

回答

0
$('div').load(window.history.back()); 

http://api.jquery.com/load/ & & How to get the previous page URL using JavaScript?

似乎最簡單的方式給我。我不完全是你的意思,但在加載另一個頁面方面,ajax加載(或iframes,但沒有人使用iframe)是要走的路。如果您只需要內頁的一部分,則可以用更多的js截斷頁面。或者,更好的是,如果腳本不是以事件爲導向的,那麼先把所有服務器端都做好。


編輯:啊好的

我得到了這一點。

值發送到服務器

$("#start_val").change(function(){ 
    startnumber = $(this).val(); 
    $.ajax({ 
    type:'Head', 
    async: false, 
    data:{ 
      startnumber: startnumber 
     }, 
    url: queryPage, 
    success: function(data){ 
       $("#search_result_cont").html(data); //No need to empty and all that           
      }           
    }); 

});

那麼你的PHP 'queryPage'

 <?php 
     $startNumber =$_POST['startnumber']; 
     for ($i = startNumber; $i < startNumber + 10; $i++){ 
       // generate results with query 
       // add query info in string to send 
     } 
     // echo said string 
    ?> 

編輯:諾特爾編輯

JSON用於數據傳輸。雖然可以查詢原始JSON,

Is there a query language for JSON?

大部分時間,你剛纔提到你想要的對象和數據。因此,可以說你的JSON文件看起來像

{ 
    "item": [ 
     {"description": "ipod", 
     "cost": "200"} 
    ], 
    "item": [ 
     {"description": "iphone", 
     "cost": "500"} 
    ], 
... 

在JavaScript

然後你可以

var script = ""; 
var offers = <?php echo $jsonencoded;?>; 
$("#start_val").change(function(){ 
    startnumber = $(this).val(); 
    for (i = startnumber; i < (startnumber + 10); i++;){ 
     script .= "<div class ='description'>"; 
     script .= offers.item[i].description; 
     script .= "<div>"; 
    } 
    $("#search_result_cont").html(script); 

}); 

哪會寫:

在#search_result_cont
<div class ='description'> ipod </div> <div class ='description'> iphone </div>... 

它羅有點類似於你所擁有的,這再次讓我對整個問題感到困惑。

但我不確定我可以回覆,但是,我希望我確實幫你& &祝你好運。

+0

中擁有的內容,同時它也保留#start_val文本框的值,並且結果再次從1 - 10開始顯示。我希望當#start_val的值改變結果開始顯示該號碼。就像如果我將文本框的值更改爲20結果開始於第20個位置 –

+0

已更新。重新生成數據庫中的結果,不要依賴前一頁。 –

+0

即時通訊不使用我自己的數據庫我使用一個xml,我從外部來源,我轉變爲jsoncode和傑森代碼我dispying如果我再次發送請求,所以這將需要更多的時間 –

相關問題