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