我正在使用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.title
,item.description
,item.link
和item.updated
传递给某些<div data-role="content">
的细节页面。
答案 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>";
}
那应该选择合适的饲料项目。