我正在使用ListView组件列出RSS提要中的一些信息,但是当用户单击该行时,我想更改为该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'));
}


我的问题之一是“返回”按钮不会回来(它什么也没做)。我的另一个问题是如何将所选行(提要项)的item.titleitem.descriptionitem.linkitem.updated传递到详细信息页面上的某些<div data-role="content">

最佳答案

**当您按回去时回答您的问题之一,它不会影响正在运行的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中,然后在go detail中放入您要查找的内容。

function goDetailed(feedNumber) {

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

 }


那应该选择正确的提要项。

关于javascript - 使用提要和列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6529144/

10-12 14:05