2011-12-14 7 views
2

JqueryMobileに問題があります。私はページをロードし、その場でListviewを作成します。ページが最初にロードされると、リストが正常にレンダリングされます。前のページに戻って同じリンクをクリックすると、リストビューはリンクと同様にレンダリングされません。同じ文書に複数のページがあるので、idでページを参照します。以下のコード。ページが読み込まれた時点でリストビューが正しく表示されない

リストが作成される場所。

function getDays(mon){ 
     var total = 0; 
     $("#h1").text(sites); 
     $("#perDay").empty(); 
     $.getJSON('/cf/cfc/statistics.cfc?method=PagesPerDay', { site: sites , months : mon}, function(qPress) { 
      $.each(qPress, function(i, item) { 
       total = total + item.pages; 
       $("#perDay").append('<li id="' + item.dayname +'"><a href="javascript:void(0);" onClick="getDays();">' + item.dayname + '<span class="ui-li-count">' + item.pages + '</span></a></li>'); 
      }); 
      $("#perDay").append('<li data-theme="b" class="ui-li ui-li-static ui-body-c ui-li-has-count">Total' + '<span class="ui-li-count">' + total + '</span></li>');    
      ChangePage("#pageDays", 'pop', sites); 
     }); 
    } 

HTML

<div data-role="page" id="pageDays"> 
     <div data-role="header" data-position="inline"> 
      <a href="#razzberry" data-icon="back" data-theme="b" data-rel="back">Back</a> 
      <h1 id="h1"></h1> 
     </div> 

     <div data-role="content"> 
      <h4 style="text-align:center;">Pages Viewed Per Day</h4> 
      <ul data-role="listview" id="perDay"></ul> 
     </div> 
    </div><!-- /page -->  

私はループの後$("#perMonth").listview("refresh");を入れてみましたが、私は キャッチされないが、前の初期化にリストビューのメソッドを呼び出すことはできませんです。私はそれを解決するために発見した唯一の方法は、返信をお願い致します@Inaki

$("#pageDays").page('destroy').page(); 
+0

私はあなたがChangePageを正しく呼び出すとは思わない? docs:http://jquerymobile.com/demos/1.0/docs/api/methods.html多分$ .mobile.changePage( "#pageDays"、{transition: "pop"}); –

+0

あなたのコードへのリンクをオンラインで投稿できますか? – commadelimited

答えて

1

を使用しています

をリフレッシュ」メソッドを呼び出そうとしました。私の例では、項目を追加した後にページ(div_list_id ul)を破棄しました。

<div id="div_loc_list"></div> 

// firstly destroy ul 
$("#div_loc_list ul").page('destroy').page(); 
var list_content =''; 
for (var i=0; i < posArray.length; i++) { 
     var ltitle = posArray[i].title; 
     list_content += '<li><a href="#direction_page">'+ltitle+'</a></li>'; 
} 
$('#div_loc_list').append('<ul data-role="listview">'+list_content+'</ul>'); 
0

を使用することであるjQueryのモバイル1.0

関連する問題