我正在使用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.title
,item.description
,item.link
和item.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/