2011-12-14 18 views
2

モバイルアプリケーションのメニューを作成しようとしています(jQuery Mobileを使用しています)。 .aspページには、SQLにクエリを実行してメニュー項目を取得します(今のところ、json[0].CompanyNameで表されます)。 JSONデータとして返されます。 SQLの値をID「mylist」の<ul>に追加したいと思います。これは動作し、json[0].CompanyNameの中にテキストを追加しますが、メニューのハードコードItem 1Item 2の書式はありません。 2つのハードコーディングされたメニュー項目ではCSSのフォーマットが機能しますが、動的なものではないのはなぜですか?json data jquery.append書式設定の問題

<div data-role="content" data-theme="b"> 
    <ul id="mylist" data-role="listview" data-inset="true" data-filter="true" > 
    <li><a href="item1.html" >Hard Coded Menu Item 1</a></li> 
    <li><a href="item2.html" >Hard Coded Menu Item 2</a></li> 
     <script type="text/javascript"> 
      $(document).ready(function() { 
       $.getJSON("getdata.asp", function (json) { 
        // alert(json[0].CompanyName); 
        $('#mylist').append('<li><a href="#">' + json[0].CompanyName + '</a> </li>'); 
       }); 
      }); 
     </script> 
    </ul> 
    </div> 
+0

この問題は表示されません。あなたのCSSと生成されたHTMLはどのように見えますか?ライブページへのリンクはありますか? – swatkins

+0

上記の内容は、ブラウザでレンダリングされたときにページのソースを表示したときに表示される内容です。 CSSがページ上のすべての要素に適用され、レンダリングされるように見える...スクリプトが実行され、メニュー項目がULに適用されますが、CSSは動的に追加された項目に適用されません。スクリプトを実行した後にCSSをリロードする方法はありますか? –

答えて

3

あなたは、あなたがそれに追加した後listviewを更新する必要があります。

 $(function() { 
      $.getJSON("getdata.asp", function (json) { 
       $('#mylist').append('<li><a href="#">' + json[0].CompanyName + '</a> </li>').listview('refresh'); 
      }); 
     }); 

これは、適切な要素に適切なCSSクラスを追加するために再初期化listview要素にjQueryのモバイルを教えてくれます。

マニュアルは、ここで見つけることができます:http://jquerymobile.com/demos/1.0/docs/lists/docs-lists.html(ページの一番下にセクションが更新リストと呼ばれる)

時々、あなたはlistviewがまだ初期化されるかどうか分からないような状況に遭遇しますこの問題を回避するには、if/thenを使用できます。

var $myList = $('#myList'); 
if ($myList.hasClass('ui-listview')) { 
    $myList.listview('refresh'); 
} else { 
    $myList.listview(); 
} 
+0

聖なる煙は、そのトリックをしました。新しい人を助けてくれてありがとう。あなたのおかげで幸せになれた。 –

+0

@CorbyBenderよろしくお願いします。これはjQuery Mobileのよくある問題です。また、 'document.ready'イベントを使用してコードを実行していることに気付きました。イベントのドキュメントページの上部をチェックアウトしてください:http://jquerymobile.com/demos/1.0/docs/api/events.html – Jasper

+0

ありがとうとても! –

関連する問題