使用Feed和列表

时间:2011-06-30 01:43:16

标签: javascript jquery listview rss jquery-mobile

我正在使用ListView组件在RSS Feed中列出一些信息,但是当用户点击该行时,我想要更改为该RSS Item的详细视图,所以我做到了这一点:

function parseFeed(feed) {
    var html = "";

    for(var i = 0; i < feed.items.length && i < 5; i++) {
        var item = feed.items[i];
        var title = item.title;

        html += "\n<li onClick='goDetailed()'>\n";
        html += "<h3><a href='#' class='ui-link-inherit'>" + title + "</a></h3>\n";
        html += "<p>" + item.description + "</p>\n";
        html += "</li>";
    }

    $("#dList").append(html);
    $("#dList").listview('refresh');
}

function goDetailed() {
    $.mobile.changePage($('#detailedPage'));
}

我的一个问题是“后退”按钮不会返回(它什么都不做)。我的另一个问题是我如何将所选行(Feed项)的item.titleitem.descriptionitem.linkitem.updated传递给某些<div data-role="content">的细节页面。

1 个答案:

答案 0 :(得分:2)

* * 在您按回来时回答您的一个问题并不影响正在运行的javascript,因此不会将其更改回来...尝试重新加载。如果您查看源代码,您可能甚至看不到源代码中的内容,因为它是在加载和解析页面的HTML之后完成的。

将“i”传递给onclick函数。当你点击那个李

for(var i = 0; i < feed.items.length && i < 5; i++) {
    var item = feed.items[i];
    var title = item.title;

    html += "\n<li onClick='goDetailed("i")'>\n";
    html += "<h3><a href='#' class='ui-link-inherit'>" + title + "</a></h3>\n";
    html += "<p>" + item.description + "</p>\n";
    html += "</li>";
}

当您编写goDetailed(feedNumber)时,您可以轻松使用您点击的RSS Feed项目。

function goDetailed(feedNumber) {
$.mobile.changePage($('feedNumber'));
}

所以,如果您点击第3个项目,它将通过2(如0,1,2)。

希望这有帮助

编辑2

其实这就是你要找的!

像我上面说的那样将'i'发送到goDetailed,然后详细了解你想要的内容。

function goDetailed(feedNumber) {

  newhtml += "<div data-role='content'>"feed.items[feedNumber].description"</div>";

 }

那应该选择合适的饲料项目。