2013-08-02 1 views
0

Я создаю список, в котором вы можете выбрать один из элементов и который приведет вас к другой странице с подробностями о выбранном элементе.передать данные выбранного элемента списка с помощью jQueryMobile/HTML

Поэтому мне нужно знать, какой элемент был выбран, чтобы создать детальную страницу.

Я строю свой список, как это:

$.getJSON("fakultaeten.js",function(data) 
     { 
      var list = $('#taskList'); 
      $.each(data.fakultaeten, function(key,value) 
      { 
       var mother = "<li id='first'>"+value.name+"<ul>"; 
       $.each(value.institut, function(key1, value1) 
       { 
        var son="<li id='second' data-param='"+value1+"'><a href='#detail'>"+value1+"/a></li>";   
        mother+=son;      
       }); 
       mother+="</ul></li>"; 
       list.append(mother); 
      }); 
      list.listview("refresh"); 
      return false; 

     }); 

И тогда я пытаюсь определить, когда пользователь нажимает на элемент списка:

$("#second").on("click",function(event) { 
         console.log($(this).text()) 
       }) 

Но это не работает. Хотя он работает для элемента # first list. Есть идеи?

ответ

2

ID всегда должен быть уникальным ... у вас есть еще один элемент с одним и тем же идентификатором ... вы не можете иметь несколько элементов с одним и тем же идентификатором, который недействителен, хотя он работает, но может помочь вам большие проблемы, такие как проблема, с которой вы столкнулись сейчас (только первый элемент с тем, который вызывается).

изменить ваш second идентификатор класса и использование класса селектор

var son="<li class='second' data-param='"+value1+"'><a href='#detail'>"+value1+"/a></li>"; 

JQuery

$("ul").on("click",'.second',function(event) { 
     console.log($(this).text()) 
}) 

заметьте, on(), вы должны передать его на ближайший статический родитель, который я считаю ul здесь еще вы можете делегировать его в документ

$(document).on("click",'.second',function(event) { 
    ... 

однако рекомендуется использовать ближайший статический родитель, который присутствует в документе.