jqueryajax div

jqueryajax div,jquery,ajax,html,Jquery,Ajax,Html,我有一个这样的联系人列表 NameOfContact Accept NameOfContact2 Accept ...... 其中Accept是一个链接。 当我单击Accept时,我想发送一个带有联系人id的ajax请求。 当ajax调用返回时,它应该删除Accept链接并在那里显示结果 因此,如果我单击联系人2的“接受”按钮,结果应该是: NameOfContact Accept NameOfContact2 Added ...... Im使用友好的url,例如接受联系人的url为:

我有一个这样的联系人列表

NameOfContact  Accept
NameOfContact2 Accept
......
其中Accept是一个链接。 当我单击Accept时,我想发送一个带有联系人id的ajax请求。 当ajax调用返回时,它应该删除Accept链接并在那里显示结果

因此,如果我单击联系人2的“接受”按钮,结果应该是:

NameOfContact  Accept
NameOfContact2 Added
......
Im使用友好的url,例如接受联系人的url为:

/action/accept/12345
其中12345是联系人id

我的html是这样的,我在服务器端动态生成html,结果应该是这样的:

John
    <div id="choice">
    <a id="accept" name="accept" href='/action/accept/12345'>Accept</a>
    </div>

Kate
<div id="choice">
    <a id="accept" name="accept" href='/action/accept/55555'>Accept</a>
    </div>
我的问题是,我不知道如何区分许多选择div。我知道我可以
添加像“choice12345”这样的id,但我希望在sendAcceptRequest函数中获取e的父元素href的父元素,即div元素并将结果附加到该div,但我不知道如何获取e的父元素并将结果附加到该div。有什么想法吗?

在您的示例中,id属性的值相同。id必须是唯一的,因为它们应该是元素的标识。在您的案例中使用类属性

Kate
<div id="kate" class="choice">
<a class="accept" name="accept" href='/action/accept/55555'>Accept</a>
</div>


$(document).ready(function(){
    $('.accept').click(function(e){
        e.preventDefault();
        sendAcceptRequest(e.target, e);
    });
});
function sendAcceptRequest(target, e){
    $.post(target,
    function(data){
       // this needs to be change to unique identify which element you want the html to be inserted
       $('.choice').html(data);
    }, "html");
}

要扩展darren所说的内容:将id更改为类后,请在sendAcceptRequest函数中添加此选择器,以查找.choice对象,将Accept链接替换为Added。当然,这将是在职位成功之后

$('.choice a[href=' + $(target).attr('href') + ']').parent().html('Added');

好的,我将使用class而不是id。如何获取e的父级?您可以使用$.yourClass.parents,但是有几个元素class='accept'如何指定一个?与您的问题无关的一点是,您不应该使用get请求来修改数据,因为在您的url中,这意味着我可以将浏览器指向/action/accept/1234 url并且数据库将被修改。您应该使用POST谓词进行修改数据的查询
$('.choice a[href=' + $(target).attr('href') + ']').parent().html('Added');