Я делаю jQuery Mobile/Phonegap приложение, которое имеет две страницы. На первой странице есть вход для поиска, где пользователь может добавить имя книги или автора, а затем вторая страница показывает результаты в зависимости от того, сколько соответствует заданному значению.jQuery Mobile dynimicaly populate listview с использованием ajax и API книг Google
До сих пор мне удалось получить значение из ввода поиска и получить значение на второй странице успешно.
Мой JQuery код на внешние файлы, и добавляются в файл index.html между jquery.js и jQuerMobile.js
//this is from the first page
// capture the user input, and change page to search_results.html
function handlePageChange() {
if ($('#search-1').val().length > 0) {
$.mobile.changePage('search_results.html', {
dataUrl : "search_results.html",
data : {
'input' : $('#search-1').val()
},
reloadPage : false,
changeHash : true
});
} else {
alert('Search input is empty!');
}
}
//Handle the page-change action after user has pressed the button = changePage
$(document).on('pagebeforeshow', "#index", function() {
$(document).on('click', "#changePage", handlePageChange);
});
//this is from second page
// get data from search input form index.html
function getSearchValue() {
var parameters = $(this).data("url").split("?")[1];
parameter = parameters.replace("input=", "");
alert(parameter);
}
//Trigger after page is loaded
$(document).on('pageshow', "#search_results", getSearchValue);
Но я застрял на двух вещах. Сначала, глядя на jQueryMobile, он меня смущает, как будто, какое событие использовать для использования моего вызова ajax в API.
Должен ли я просто еще одна функция обратного вызова существующего прослушивателя событий pageshow
.
Затем я хочу заполнить свои listview
результатами API Google Книги, но я не могу найти никаких хороших примеров.
И, как минимум, я хочу показать книги в listview
с миниатюрами и заголовками, а когда кто-то нажимает на одну из книг, она будет переведена на другую страницу, где будет показана более подробная информация о книге.
Как это сделать в зависимости от идентификатора.
Даже концепция без кода приветствуется. Спасибо
Вы правы, это единственный способ, которым я могу думать, что выглядит естественным. Пока вы показываете загрузчик ajax, чтобы пользователь мог видеть, что что-то происходит. – Gajotres
Процесс хранения и передачи данных передается детально в моем другом ответе: http://stackoverflow.com/questions/14468659/jquery-mobile-document-ready-vs-page-events/14469041#14469041 просто найдите главу : Обработка данных/параметров между переходами страниц – Gajotres
На шаге 3, что, если я использую 'pagebeforeshow', так как я только динамически создаю listview, а не весь раздел' content'. Имеет ли это какое-либо влияние на скорость? –