2

アプリケーションで $.get() を使用して施設名のリストを取得しています。次に、それらを jquery mobile のリスト項目として既存の に挿入したいと考えています。HTML に 1 つの要素を追加すると問題ないように見えますが、for ループを使用すると、結果にスタイリング効果がありません。

http://jsfiddle.net/mkamyszek/YDFZ3/1/

<div data-role="page">
            <div data-role="header">
                <h1>My Title</h1>
            </div><!-- /header -->

            <div data-role="content">
                <ul data-role="listview" data-inset="true" data-filter="true" id="fieldList">
                    <li>Test</li>
                </ul>
            </div><!-- /content -->

        </div><!-- /page -->

ループは正しい情報を出力しますが、ループを使用すると、何らかの理由でスタイルが適用されません。

for (i=0; i<=5; i++){
$("ul").append("<li>something" + i + "</li>");

}

4

2 に答える 2

6

これは、新しいコンテンツが追加された後にリストビューのスタイルを変更する必要があるためです。

次のようにします。

$('#listviewID').listview('refresh');

リストビューが動的に生成される場合、スタイルを設定する前に初期化する必要がある場合があるため、その場合は次のように使用します。

$('#listviewID').listview().listview('refresh');

作業例: http://jsfiddle.net/Gajotres/LrAyE/

そして、これはあなたの例からの実際の例です: http://jsfiddle.net/Gajotres/HuKab/

于 2013-04-09T13:28:18.530 に答える
2

$('.selector').listview('refresh');項目を追加した後に使用します。

デモ

for (i=0; i<=5; i++){
 $("ul").append("<li>something" + i + "</li>");
 $('[data-role=listview]').listview('refresh');
}
于 2013-04-09T13:29:36.470 に答える