2012-03-16 33 views
3

我有两个按钮,它们的点击事件执行ajax操作。我需要知道如何改变调用它的元素,例如,如果你点击第一个按钮,ajax使用其“成功”函数中的第一个按钮将其值更改为返回的数据。jQuery选择调用AJAX的元素

这是否有意义?另一种解释方式..我想要一堆按钮,当点击时,执行ajax调用,并且当该调用完成时,被单击的按钮被删除。

回答

1

是的,这是有意义的,使用AJAX context属性:

function doAjax() { 
    $.ajax({ 
     url: "test.html", 
     context: this, // <=== 
     success: function() { 
      $(this).hide(); 
     } 
    }); 
}​  

$('input[type="button"]').click(doAjax); 

方面:

这个对象将作出所有Ajax相关回调的背景下。默认情况下,上下文是表示调用中使用的ajax设置 的对象($ .ajaxSettings与传递给 $ .ajax的设置合并)。例如,指定DOM元素作为上下文将使得 成为请求的完整回调的上下文。

AJAX docs

+1

完美,谢谢。 – DanRedux 2012-03-16 02:07:25

+0

等一下,可以用.post或.get来完成吗? – DanRedux 2012-03-16 02:07:39

+0

@DanRedux。我不这么认为......发布并获得有限的一组功能。 – gdoron 2012-03-16 02:08:58