0

ニュース データを ul および li リストに表示する際に問題が発生しています。コードは次のとおりです。

$('#NewsPage').live('pagebeforeshow',function(event, ui){ 
    Newslist = "";
    $.each(NewsObject, function(k,v){ 
        Newslist += "<li><a href='#'>" + v.news_title + "</a></li>"; 
    }); 
    $("ul#displayNews").html(Newslist); 
}); 

私のhtmlファイルには次のものがあります:

<div data-role="content"> 
<div id="displayNews"> 
    <ul data-role="listview" data-inset="true" data-filter="true"> </ul> 
</div> 
</div> 

Newslist は、gv_file.js というファイルで定義され、html ファイルの先頭に含まれるグローバル変数であることに注意してください。

4

2 に答える 2

0

HTML:

<div data-role="content"> 
  <div id="displayNews"> 
      <ul data-role="listview" data-inset="true" data-filter="true"> </ul> 
  </div> 
</div> 

jQuery:

$('#NewsPage').live('pagebeforeshow',function(event, ui){ 
    Newslist = "";
    $.each(NewsObject, function(k,v){ 
        Newslist += "<li><a href='#'>" + v.news_title + "</a></li>"; 
    }); 
    $("#displayNews ul").html(Newslist).listview("refresh"); 
}); 
于 2012-04-14T05:49:43.940 に答える
0

セレクターが正しくありません。内に含まれていない をul#displayNews探します。<ul id="displayNews">ul#displayNews

これを試してください(.append便宜上少し良いです):

$('#NewsPage').live('pagebeforeshow',function(event, ui){ 
    $.each(NewsObject, function(k,v){ 
        $('#displayNews ul').append('<li><a href="#">' + v.news_title + '</a></li>'; 
    }); 
}); 

on()またはさらに良いのは、代わりによりモダンなものを使用することですlive()(jQuery 1.7 以降が必要です)。

$(document).on('pagebeforeshow','#NewsPage', function(event, ui){ 
    $.each(NewsObject, function(k,v){ 
        $('#displayNews ul').append('<li><a href="#">' + v.news_title + '</a></li>'; 
    }); 
}); 
于 2012-04-13T18:55:38.183 に答える