jQuery ajax列表ahref在ajax中发送值然后转到ahref

时间:2015-08-06 11:02:58

标签: jquery html ajax

我正在开发与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);
});

4 个答案:

答案 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;
});