2011-07-07 28 views
4

我正在嘗試在本地計算機上僅構建一個自助服務終端。我打算使用JavaScript來使菜單列表正常工作。這是我的html代碼示例。使用文本文件填充菜單,例如text.txt

<ul class="sf-menu"> 
     <li class="current"> 
      <a href="#a">Area1</a> 
       <ul> 
        <li> 
         <a href="#aa">John's Store </a> 
        </li> 
         <li class="current"> 
          <a href="#ab">Katy's store</a> 
           <ul> 
            <li class="current"><a href="#">Orange</a></li> 
            <li><a href="#aba">Watermelon</a></li> 
            <li><a href="#abb">Apple</a></li> 

           </ul> 
         </li> 
         <li> 

          <a href="#">Catherine's Store</a> 
           <ul> 
            <li><a href="#">Banana</a></li> 
            <li><a href="#">Pear</a></li> 
            <li><a href="#">Cherry</a></li> 

           </ul> 
         </li> 

       </ul> 
     </li> 

     <li> 
      <a href="#">Area2</a> 
       <ul> 
         <li> 
          <a href="#">Peter</a> 
           <ul> 
            <li><a href="#">Apple</a></li> 
            <li><a href="#">Rockmelon</a></li> 


           </ul> 
         </li> 
         <li> 
          <a href="#">Lynda</a> 
           <ul> 
            <li><a href="#">Strawberry</a></li> 
            <li><a href="#">Jackfruit</a></li> 
            <li><a href="#">Orange</a></li> 

           </ul> 
         </li> 

        </ul> 
      </li> <!--current--> 

    </ul> <!--sf-menu--> 

誰去更新/更換菜單(這將是巨大的)的人會使用簡單的文本文件,例如記事本 - .TXT(出於某些原因)。有沒有辦法用簡單的文本文件更新菜單項?我可以使用JavaScript或jQuery插件/代碼嗎?

任何方向將不勝感激。如果你想要的文字後面的每一行,你可以做(​​假設名字以新行分開)

var textFile = "SCHEME://DOMAIN/FILENAME.txt";   
    jQuery.get(textFile, function(textFileData) {    
     //Parse file and populate menu based on specs. 
     //textFileData will have the text  
    }   

var EachLineInTextFile= textFileData.responseText.split("\n");   
    for (var i = 0, len = EachLineInTextFile.length; i < len; i++) 
    { 
    //This will give you each name from here you can put the name where you want it 
    } 

一個

回答

4

可以使用。獲得這樣做示例應該是:

<script type="text/javascript"> 
    $(document).ready(function() { 
     var textFile = "http://localhost/MyDomain/Menu.txt"; 
     jQuery.get(textFile, function (textFileData) { 
      var EachLineInTextFile = textFileData.responseText.split("\n"); 
      for (var i = 0, len = EachLineInTextFile.length; i < len; i++) { 
       STORE_TO_REPLACE = EachLineInTextFile[i]; 
       //STORE_TO_REPLACE: I would have to the entire format of your file to do this. 
      } 
     }) 
    });   
</script> 

從這裏,如果您需要幫助替換列表中的值,請查看this article

或者,如果您想要全部替換它們,則可以使用.each來遍歷列表。

+0

嗨恩,謝謝你的快速回復!對不起,我是jQuery的新手,你能詳細解釋一下代碼嗎?上面的代碼如何連接到菜單列表?例如,如果我的菜單HTML是像

  • 約翰
  • 凱蒂
  • 凱瑟琳
  • 彼得
。我想從菜單列表中填入members.txt(它沒有代碼,但是有人的名字)。所以有人可以更新txt文件來上傳更新的名字。謝謝! – grumpypanda

+0

文本文件的格式是什麼?它是一個名字,然後是一個換行符,然後是一個名字? –

+0

它可以被格式化,但你說的方式聽起來不錯。我的主要目標是沒有代碼給正在用文本文件更新菜單的人。因爲會有數百個會員/姓名,並且每個會員/姓名下還會有產品列表。謝謝! – grumpypanda