2013-05-20 76 views
-1

我是網絡開發新手。我正在嘗試創建一個帶有列表式容器的網頁,其中列出了目錄中包含的所有* .html文件。用鼠標點擊其中一個列出的名稱,即可在同一頁面的另一個容器中顯示.html。列表像HTML/JavaScript中的容器通過csv/json填充

我正在考慮將.html文件的文件名存儲在csv或json文件中,以便通過javascript讀取並填充列表狀容器。

我真的很感激任何關於如何實現這一目標的指針。

謝謝。

+0

這個問題是非常通用的...你有沒有嘗試過任何東西呢?將你的問題劃分爲更小的問題,試圖解決其中的每一個問題 – MofX

+0

Javascript不會讓你獲得一個目錄列表,你需要使用服務器端腳本(如PHP或ASP)並使用ajax查詢 – dt192

+0

這兩個人都是對的 - 你需要在這裏完成多項任務。我試着回答你所提供的標籤所涵蓋的問題 - 但是你需要詢問另一個/查看目錄列表內容的更多信息。 – 1nfiniti

回答

0

你需要一個好的服務器端的內容解決方案來讀取您的文件/ csv並將數據服務到您的前端 - 您也可以使用節點作爲解決方案 - 但這兩個主題都在此範圍之外(至少,我可能不是最好的人回答他們,我給的答案會導致更多的問題)。

做前端位 - 你應該使用jQuery,因爲它會爲你簡化很多事情。

如果你有你的JSON字符串(可能只是在這種情況下,數組),它膨脹/解析到這樣的事情:

解析的JSON:

files = [ 
    'file1.html', 
    'file2.html', 
    ...etc... 
]; 

你可以把這些成空,現有UL元件如下:

HTML:

<ul id="list"></ul> 
<div id="pageHTML"></div> 

使用Javascript/jQuery的:

$(document).ready(function() { 

    var $list = $('#list'), 
     $html = $('#pageHTML'); 

    for(var i = 0; i < files.length; i++){ 
     $list.append('<li><a href="/path/to/'+files[i]+'">'+files[i]+'</a></li>'); 
    } 

    // when a link is clicked, we can load the content via ajax 
    $list.on('click', 'a', function(e){ 
     e.preventDefault(); 
     $html.load(this.href); 
    }); 

}); 

jQuery的簡化&讓人們更方便閱讀發生了什麼事情在這裏的JavaScript版本鏈接到@ NullPointerException異常的答案與標準比較。

XMLHTTPRequest也是一個非常複雜的領域。作爲一名新開發人員,如果您決定「推出自己的」解決方案,那麼沿途會出現很多潛在的問題。讓jQuery爲你處理繁重的工作可能是一個更好的主意。

0

看那本question

您可以從JSON閱讀HTMLS列表並將其顯示爲列表,然後按照這個問題來加載在同一頁面