我在jQuery Mobile手风琴中有一堆虚拟链接。通过虚拟链接我的意思是href只是“#”。该列表由另一个函数动态创建,值使用value属性存储在元素中。循环像这样写
列表'<li value="' + result.ID + '"><a href="#">' + result.Name + '</a></li>'
点击链接时,我无法抓住该值。我目前正在使用此事件处理程序
$(document).on('click', '#openCallsList li a', function () {
});
当点击一个链接时,我希望有一个与之关联的值,这样我就可以从数据库中获取一些数据(我知道该怎么做),然后创建一个对话框窗口(我也知道该怎么做)。我只是迷失了如何获得我用链接存储的值。
答案 0 :(得分:6)
这将有效:
$(document).on('click', '#openCallsList li a', function () {
console.log($(this).closest('li').attr('value'));
});
答案 1 :(得分:3)
虽然您可以从value
标记中获取<li>
属性,但这是无效的HTML。 {I}属性已被弃用。
HTML 4.01中不推荐使用此属性。因此不再推荐使用它。
来源:http://www.htmlquick.com/reference/tags/li.html#value
我建议将其更改为:
value
然后使用
'<li id="' + result.ID + '"><a href="#">' + result.Name + '</a></li>'
答案 2 :(得分:1)
以下是完整代码:
HTML代码:
<ul id ='openCallsList'>
<li value='12'><a href="#">12</a></li>
<li value='13'><a href="#">13</a></li>
<li value='14'><a href="#">14</a></li>
<li value='15'><a href="#">15</a></li>
</ul>
Java脚本代码:
$(document).on('click', '#openCallsList li a', function () {
alert($(this).parent().attr('value'));
});