2013-02-11 5 views
-1

Я использую jQuery mobile, и у меня есть список элементов, созданных из javascript, который вызывает серверный php-скрипт, подключающийся к базе данных mysql и выводящий его в массив JSON. Он отлично работает на примере ниже:Создание ссылки из динамически сгенерированных данных

$(document).ready(function(){ 
var url="http://www.mysite.com/json.php"; 
$.getJSON(url,function(json){ 
var output='<ul data-role="listview">'; 
$.each(json.menu,function(key,val) { 
    output+='<li>'; 
    output+= '<a href="#menuitem" onclick="showItem(' + val.menu_title + ')">'; 
    output+='<h3>' + val.menu_title + '</h3>'; 
    output+='<img src="' +val.menu_img +'" />'; 
    output+='<p>' +val.menu_desc + '</p>'; 
    output+= '</a>'; 
    output+='</li>'; 
}); 
output+='</ul>'; 
$('#menulist').html(output); 
}); 
}) 

Что мне нужно, это функция showItem поэтому, когда я нажимаю на один элемент в списке просмотра будет передать эту информацию на динамически созданную страницу с подробным, что один элемент. Надеюсь, есть простой ответ, я пробовал несколько разных вещей, и никто из них не работает. Любая помощь будет принята с благодарностью.

+0

Так что вы говорите, что динамически добавленные элементы нажмите функции не стрелять? – Ohgodwhy

+0

Я могу нажать на элемент, и он приведет меня на страницу #menuitem, но он пуст. Я создал функцию для onclick = "showItem ('+ val.menu_title +')"> '; но он не работает. Я noob для javascript. – user2060244

ответ

0

Вам потребуется получить дополнительную информацию с вашего сервера. Если вы хотите просмотреть динамически созданную страницу, детализируя один элемент, вам понадобится какой-то тип ID.

  1. Я хотел бы предположить, добавив ID в строке 7 кода (где вы создали вступительную часть тега) и добавить идентификатор там, скажи href и сдирать onclick
  2. Тогда я хотел бы добавить класс к a tag сказать details
  3. Ваш конечный результат должен выглядеть немного как это:

output+= '<a class="details" href="#itemid-' + val.itemid + '">';

Наконец, добавьте следующий JQuery

$('#menulist').on('click', '.details', function() { 
    // Whatever your navigation is, it should go here 
    // Eg: window.location = this.href; 
});` 
+0

Это работает ... вроде. Теперь, когда я наводил курсор на элемент, я вижу, что он добавляет menu_id к URL-адресу: http://www.mysite.com/#menuitem1, но когда я нажимаю на него, ничего не происходит. – user2060244

Смежные вопросы