2012-04-13 89 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"); 
});