用户单击链接或按钮时调用ajax帖子

时间:2013-07-25 16:41:20

标签: javascript jquery

            <tr>
                <td>
                    <span id="id_1">
                        <a href="/Path" >Name</a>   <a href="#">Delete</a>
                    </span>
                </td>
            </tr>
            <tr>
                <td>
                    <span id="id_2">
                        <a href="/Path" >Name</a>   <a href="#" >Delete</a>
                    </span>
                </td>
            </tr>

你好!

我有一张上面的表,我有兴趣在点击删除后触发ajax帖子。

我不确定如何确定点击了哪个删除。我有幸添加我想要的任何ID。

然后在jquery方面:

    $.post("/Attachment/RemoveAttachment", { id: "1", fooId: , barId: })
        .done(function (data) {
            alert("Data Loaded: " + data);
        });

我需要确保只有在用户点击“删除”按钮时才会触发此内容。

任何帮助都是适用的

3 个答案:

答案 0 :(得分:2)

为每个删除链接指定一个“删除”类:

<a href="#" class="delete">Delete</a>

然后为onclick事件编写一个事件处理程序,它将触发你的AJAX调用:

$('a.delete').click(function () {
    var id = $(this).parent().attr('id').replace('id_', '');
    // your AJAX call goes here
    // var id contains the id from the span, so place it where appropriate
    $.post('/Attachment/RemoveAttachment', {
        id: '1',
        fooId: ,
        barId: 
    }).done(function (data) {
        alert("Data Loaded: " + data);
    });
});

答案 1 :(得分:2)

回应“我不确定如何确定点击哪个删除”。请参阅以下内容:

<强> HTML:

<td>
                    <span id="id_2">
                        <a href="/Path" >Name</a>   <a href="#" class="delete">Delete</a>
                    </span>
                </td>

<强> jQuery的:

$('.delete').click(function() {
    var id = $(this).parent().attr('id');
    $.post("/Attachment/RemoveAttachment", { id: id, fooId: , barId: })
        .done(function (data) {
            alert("Data Loaded: " + data);
        });
});

答案 2 :(得分:1)

你应该使用一个保存id的属性(清洁恕我直言)。在处理程序中,您可以阅读它:

<a href="#" data-id="2" class="delete">Delete</a>

$('a.delete').click(function () {
var theId = $(this).attr("data-id");
// delete ...
$.post("/Attachment/RemoveAttachment", { id: theId })
        .done(function (data) {
            alert("Data Loaded: " + data);
        });
});