2014-02-21 3 views
0

У меня есть динамическое представление, которое id и text являются динамическими с сервера.Как получить список избранных идентификаторов и href-текст?

Для простоты предположим, что-то вроде этого:

<ul id="productslist" data-role="listview" data-inset="true"> 
    <li data-role="list-divider">Products</li> 
    <li id="123"><a href="" onclick="check();">#copper 1</a></li> 
    <li id="124"><a href="" onclick="check();">#copper 2</a></li> 
</ul> 

Мне нужна получить список идентификаторов и название продукта. (Я не знаю значение id, так как оно будет динамическим)

Любые предложения?

<!DOCTYPE html> 
<html> 
<head> 
    <title>Testing</title> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css" /> 
     <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script> 
     <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script> 
     <script> 

      $(document).on("pageinit","#test1",function(){ 

      }); 

     $(document).on("pagebeforeshow","#test1",function(){ 

      //dynamic list with  


     }); 

     function check(){ 
      var href = $(this).attr('href'); 
      var id = $(this).parent().attr('id'); 

     alert('href :'+id+' ,value:'+id);  
     }; 

     </script>  
</head> 
<body> 

<div data-role="page" id="test1"> 
    <div data-role="header"> 
    <h1 style="white-space: normal;margin-left:60px;" id="headertitle"></h1> 
      <a href='menu.html' class='ui-btn-right' data-icon='home' data-theme="a" >Home</a> 
    </div><!-- /header --> 

     <div data-role="content"> 
     <h4>List #</h4> 

     <ul id="productslist" data-role="listview" data-inset="true"> 
      <li data-role="list-divider">Products</li> 
      <li id="123"><a href="" onclick="check(this);">#copper 1</a></li> 
      <li id="124"><a href="" onclick="check(this);">#copper 2</a></li> 
      <li id="125"><input type="button" value="#copper 3" onclick="check();"></li> 
     </ul> 

     <input type="button" onclick="openProduct('data');" value="Click"/> 

    </div><!-- /content --> 

    <div data-role="footer" data-position="fixed"> 
     <h4></h4> 
    </div><!-- /footer --> 

</div><!-- /page --> 
</body> 
</html> 
+0

Что вы имеете в виду? Я хочу получить 123, # copper1, когда я нажимаю на элемент списка. – user3023313

ответ

3

Использование .on()

$('#productslist').on('click','a',function(e){ 
    e.preventDefault();//stop default behavior of anchor tag 
    var href = $(this).text(); 
    var id = $(this).parent().attr('id'); //get parent li id 
}); 


Fiddle Demo

onclick="check(this);" 


Поместите этот код в голове или в конце страницы

function check(el) { 
    var txt = $(el).text(); 
    var id = $(el).closest('li').attr('id'); 
    alert('id : ' + id + ' , value: ' + txt); 
}; 
+0

Он дает неопределенные значения. Что мне не хватает? – user3023313

+0

@ user3023313 введите свой код здесь - >> http://jsfiddle.net/ ' –

+0

Я разместил его выше, jsfiddle не работал – user3023313

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