Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 从listview获取单击的值_Jquery_Jquery Mobile - Fatal编程技术网

Jquery 从listview获取单击的值

Jquery 从listview获取单击的值,jquery,jquery-mobile,Jquery,Jquery Mobile,我已经用jQuery Mobile创建了一个动态listview,我想获得单击列表项的值。 我想要实现这一点的原因是,我需要这个值来链接到另一个页面,并显示有关单击项目的更多详细信息 我已经在互联网上搜索过了,我找到了一个不适合我的解决方案 我的(jQuery Mobile)页面如下所示: <div data-role="page" id="personList"> <div data-role="header" data-position="fixed">

我已经用jQuery Mobile创建了一个动态listview,我想获得单击列表项的值。 我想要实现这一点的原因是,我需要这个值来链接到另一个页面,并显示有关单击项目的更多详细信息

我已经在互联网上搜索过了,我找到了一个不适合我的解决方案

我的(jQuery Mobile)页面如下所示:

<div data-role="page" id="personList">
    <div data-role="header" data-position="fixed">
        <h1>header</h1>
    </div>

    <div data-role="content">
    </div>

    <div data-role="footer" data-position="fixed">
        footer
    </div>
</div>
但是,最后一个函数不起作用。当我点击一个“li”项目时,什么也没有发生。 我希望得到一个值为“data name”的警报

注:即使我已经声明了这一点,我也不会得到警告:

$('#personListview').children('li').click(function() {
    alert('test');
有人能帮我吗?我是Javascript和jQuery(移动)的初学者

提前谢谢

您的代码:

"<ul id=" + "personListview" + "data-role...

“尝试将您的单击事件更改为类似的内容(我建议并假设您的
有一个类是
yourclass
):

在当前代码中也勾选此行:

alert($(this).attr('data-name').val();
查看您的
  • 定义。它应该以
  • 开头:

    <li><a href="bmw.html">BMW</a></li>  
    

    如果出现格式问题,请检查以下内容:。

    u在错误控制台中出现任何错误?您的第二页是动态加载的?还是静态内容?您希望此数据设置链接或识别某些内容?感谢您的回答。我已将“ul”更改为:var html='
      '; 我只有一个已经有ID的“ul”。尽管如此,它仍然不起作用。另一个建议是:您可能需要考虑使用模板引擎(如jsRender)来处理此问题。这样的引擎可以让您用HTML构建模板,而不是将字符串值串联在一起,然后您可以使用javascript对象呈现输出。看一看:这里有更多的信息:谢谢你的回复!使用“普通”列表视图,您的解决方案可以正常工作。对于动态填充的listview,由于某些原因它无法工作。我不知道为什么。当我点击一个“li”项目时,什么也没有发生。我在listview中用静态列表项创建了同一个页面,然后它工作得很好。您是否在代码中为所有li元素动态添加了class属性?您是否为li项目动态添加了class=class?我想我只需要将class添加到“ul”元素。我的“ul”现在看起来是这样的:var html='如果我将“class=class”添加到所有“li”元素中,函数会是什么?
      <ul id=personListviewdata-role...
      
      '<ul id="personListview" data-role=....'
      
      $("#personlist").live('pageinit', function() {   
          $('.yourclass').live('vclick', function(e) {
               alert($(this).attr('data-name').val();
          }  
      }
      
      alert($(this).attr('data-name').val();
      
      <li><a href="bmw.html">BMW</a></li>  
      
      <li><a class="yourclass" href="#" id="' + id + '" ><h1>' + label + '</h1><p>'+ customer + '</p></a></li>
      
      $("#personlist").live('pageinit', function() {   
          $('.yourclass').live('vclick', function(e) {
              alert($(this).attr('data-name').val();
          }  
      }
      
      $("#myListview").on("click", "li", function() { 
           alert( $(this).attr("data-name") ); 
      };