2011-07-07 17 views
4

ローカルマシンにのみキオスクを構築しようとしています。 JavaScriptを使用してメニューリストを機能させることを計画しています。ここに私のHTMLコードの例があります。 .TXT(特定の理由のために) -メニューにテキストファイル(例: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--> 

(大規模になるだろうされている)のメニューを変更/更新するように起こっている人は、単純なテキストファイルなどのメモ帳を使用しようとしています。簡単なテキストファイルでメニューアイテムを更新する方法はありますか? JavaScriptまたはjQueryのプラグイン/コードを使用できますか?

いずれの方向にも感謝します。

答えて

4

あなたはに.get使用して、この操作を行うことができます。

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 
    } 

Aサンプルは次のようになります:

<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

    関連する問題