2012-04-13 87 views
0

我在ul和li列表中顯示我的新聞數據時遇到了問題。代碼:顯示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> 

注意,新聞列表是我在一個叫gv_file.js幷包含在HTML文件

的頭文件中定義的全局變量
+0

請注意,我必須在li之前和之後添加空格才能在stackoverflow中正確顯示 – 2012-04-13 18:51:04

回答

0

您的選擇器不正確。 ul#displayNews尋找<ul id="displayNews">,而不是#displayNews中包含的ul

試試這個(有一點.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>'; 
    }); 
}); 
+0

感謝mblase75的回覆。我試過.append,但仍然沒有顯示數據:s – 2012-04-13 19:03:18

+0

firebug在說$(document).on不是函數 – 2012-04-13 19:18:18

+0

我忘了提及'$(document).on'需要jQuery 1.7或更高版本。 – Blazemonger 2012-04-13 19:30:55

0

HTML:

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

jQue ry:

$('#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"); 
});