Работа с лентами и списками - PullRequest
1 голос
/ 30 июня 2011

Я использую компонент 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"> на странице сведений.

1 Ответ

2 голосов
/ 30 июня 2011

** чтобы ответить на один из ваших вопросов, когда вы нажмете назад, это не влияет на работающий 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-канала вы щелкнули легко.по 3-му пункту он пройдет 2 (как в 0,1,2).

Надеюсь, это поможет

РЕДАКТИРОВАТЬ 2

На самом деле эточто ты ищешь!

Отправьте 'i', как я сказал выше, в goDetailed и в подробном наброске go, что вы ищете.

function goDetailed(feedNumber) {

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

 }

И это должно выбрать правильный элемент фида.

...