列表中的所有按钮返回相同的ID

时间:2014-04-28 20:05:44

标签: javascript jquery ajax

我连续有几个按钮,都是类add-btn。单击其中一个时,我想记录其包装范围的ID。但是,我发现的是,所有按钮都会记录列表中第一个add-btn的范围。

$('.add-btn').click(function()
{
    var shop_name = $('.add-btn').closest('span').attr('id');
    $.ajax
    ({
        type: "POST",
        url: "http://www.domain.com/includes/follow.php",
        data: {id: id, shop_name: shop_name},
        success: function(data)
        {
            console.log(data);
        }
    });
});

follow.php:

$shop_name = $_POST['shop_name'];
var_dump($shop_name);

1 个答案:

答案 0 :(得分:5)

使用$('.add-btn')替换点击处理程序中的$(this)

$('.add-btn').click(function()
{
    var shop_name = $(this).closest('span').attr('id');
    $.ajax
    ({
        type: "POST",
        url: "http://www.domain.com/includes/follow.php",
        data: {id: id, shop_name: shop_name},
        success: function(data)
        {
            console.log(data);
        }
    });
});

您目前正在做的是获取第一个.add-btn ID。