1

jquery mobile で折りたたみ可能なリストビューを作成しました。これは動的です。html コードで折りたたみ可能を作成すると、問題なく表示されます。私が動的に試したのと同じもので、スタイルは適用されません。

Html ページのコード:

<div data-role="collapsible">
                    <h2>Bucks County<br>BU</h2>
                    <ul data-role="listview">
                        <li><a href="index.html">Location </a></li>
                    </ul>
            </div>

Jquery のコード:

$("#lsititems").append('<div data-role="collapsible">'+
                    '<h2>'+data[0].SiteName+'<br>'+data[0].SiteCode+'</h2>'+
                    '<ul data-role="listview">'+
                    '<li>'+'<a href="index.html">'+'Location'+'</a>'+'</li>'+
                    '</ul>'+
                    '</div>') 

私もこれを試しました:

$("#lsititems").append("<div data-role='collapsible'>"+
                                "<h2>"+data[1].SiteName+"<br>"+data[1].SiteCode +"</h2>"+
                                "<ul data-role='listview'>"+
                                "<li>"+"<a href='index.html'>"+"Location"+"</a>"+"</li>"+
                                "</ul>"+
                                "</div>")  

O/P:

ここに画像の説明を入力

上記のコードから、1 つ目は Html から作成され、2 つ目と 3 つ目は jquery で動的に作成されます。私のコードで何が問題なのですか..助けてください..よろしくお願いします...

4

2 に答える 2

0

jQuery モバイルでは、コンテンツを動的に追加する場合、コンテンツを初期化する必要があります。コンテンツを追加する場合 (たとえば、リストビューに項目を追加する場合) は、コンテンツを更新する必要があります。

初期化が必要な項目がいくつかある場合はcreate event、ページ上で をトリガーしてすべてを初期化できます。pageshow多くの場合、イベントでそうするのが最善です。

例えば

$("#mypage").on('pageshow', function () {
   $(this).trigger("create");
});
于 2012-10-22T13:33:45.663 に答える
0

動的に追加されたコンテンツの場合、メソッドを呼び出す必要があります.collapsible():

$('div[data-role=collapsible]').collapsible();
于 2012-10-22T13:33:55.290 に答える