我正在开发与Facebook通知相同的通知。我已经使用ul> li>构建了当用户点击任何通知然后jQuery ajax来获取用户点击的特定li / a的值然后发送到用户点击的URL。
我尝试了很多代码,但没有工作来获得li / a data-id。
更新 我的jQuery在追加函数之前工作得很好,但是当我通过追加函数在html中设置数据时,我的jQuery代码不起作用。
请查看我的代码:
<div class="list-containercontent notify-content" id="notifcations-content" >
<li data-id="1" role="presentation" class="notifcationid un-read">
<div class="list-box clearfix">
<a class="nClick" href="http://localhost:8000/admin/order/11">
<div class="media">
<div class="pull-right"> OrderNo </div>
<div class="pull-left"> <span class="n-name">User 3</span> </div>
<div class="media-body">
<p>Revision Completed </p><span class="n-date"> 17-06-2015 - 10:30:34</span></div>
</div>
</a>
</div>
</li>
<li data-id="2" role="presentation" class="notifcationid un-read">
<div class="list-box clearfix">
<a class="nClick" href="http://localhost:8000/admin/order/12">
<div class="media">
<div class="pull-right"> OrderNo </div>
<div class="pull-left"> <span class="n-name">User 2</span> </div>
<div class="media-body">
<p>Revision Completed </p><span class="n-date"> 17-06-2015 - 10:25:22</span></div>
</div>
</a>
</div>
</li>
<li data-id="3" role="presentation" class="notifcationid un-read">
<div class="list-box clearfix">
<a class="nClick" href="http://localhost:8000/admin/order/14">
<div class="media">
<div class="pull-right"> OrderNo </div>
<div class="pull-left"> <span class="n-name">User 1</span> </div>
<div class="media-body">
<p>Revision Completed </p><span class="n-date"> 17-06-2015 - 10:05:53</span></div>
</div>
</a>
</div>
</li>
</div>
jQuery的: 现在这给了我不确定的 更新:
$(".notification-items li").click(function() {
alert($(this).prevAll().length+1);
});
答案 0 :(得分:1)
如果我理解正确,以下情况应该有效。
$('li.notificationid a').on('click', function(e) {
var id = $(this).parents('li.notificationid').data('id');
//DO WHATEVER YOU NEED TO DO WITH THE ID HERE (e.g. ajax call or whatever)
return true //Don't need to call this, but it's here for clarity. Unless you return false, or add a call to e.preventDefault(), the link will still be clicked and the browser will navigate to the 'href' of the 'a'.
});
答案 1 :(得分:1)
你可以追加那个&#39; id&#39; at&#39;网址&#39;然后将其发布到下一页。在下一页中,您可以像这样访问此变量
$id = $_GET['id']
你的jQuery
$(document).ready(function(){
$("#notifcations-content li div a").click(function(){
alert('selected index : '+$(this).parent().parent().attr('data-id'));
$(this).attr('href', $(this).attr('href')+'?id='+$(this).parent().parent().attr('data-id'));
});
});
答案 2 :(得分:0)
参考:http://api.jquery.com/delegate/
data.table
答案 3 :(得分:0)
我试过这段代码,这对我来说很好,请检查。
你只需要在ahref
中添加data-id$(document).on('click', '.notification-items li a', function(e) {
var id = $(this).parents('.notifcationid').data('id');
alert(id);
return false;
});