2011-06-30 27 views
1

我使用的是一個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')); 
} 

我的問題之一是後退按鈕不會回來(它什麼都不做)。我的另一個問題是,我可以如何將詳細信息頁上的選定行(Feed項目)的item.title,item.description,item.linkitem.updated傳遞給某些<div data-role="content">

回答

2

* *要回答你的問題之一,當你按回它不影響正在運行的JavaScript,因此不會改回它...嘗試重新加載。如果您查看源代碼,則可能甚至不會看到源中的內容,因爲它是在頁面的HTML加載並解析後完成的。

將「i」傳遞給onclick函數。當你點擊那個li時

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')); 
} 

所以如果你點擊第三項,它會傳遞2(如在0,1,2)。

希望這有助於

EDIT 2

其實這是你在找什麼!

發送像我上面說的'我'到goDetailed和在去詳細下降你在找什麼。

function goDetailed(feedNumber) { 

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

} 

而且應該選擇適當的飼料項目。

+1

只是重新閱讀這個問題......我不認爲我回答了一件該死的事情。 – TheBestJohn