更新与Click事件触发JQuery AJAX请求相关联的HTML元素

时间:2012-06-07 07:08:03

标签: ajax jquery

我有几个HTML元素(按钮)可以触发相同的JQuery AJAX请求。当AJAX请求成功返回时,我需要对触发AJAX请求的HTML元素进行一些更新。我理解如何执行此操作,如果我要更新要更新的元素的ID,例如ID为myDiv的项目,如下面的代码所示,但我不确定如何处理对应于触发事件的元素。

$('body').on(
    'click',
    '#yt25',
    function(){
        jQuery.ajax({
            'type':'POST',
            'data':$("#custom-hazard-form").serialize()+"&ajaxRequest=hazard-form",
            'success':function(data) {
                $('#myDiv').html('This is the new text'),
            }
            'url':'#',
            'cache':false
     });
    return false;
});

我认为一个选项是将触发事件的HTML元素的id作为ajax请求'data'选项中的键值对发送,然后将其作为AJAX响应的一部分传递回客户端。然后我可以获取id并知道要更新的HTML元素。这是处理这个的最好方法还是我错过了一些更明显的东西?感谢。

1 个答案:

答案 0 :(得分:0)

$('body').on(
'click',
'#yt25',
function(){
    var _this = this;
    jQuery.ajax({
        'type':'POST',
        'data':$("#custom-hazard-form").serialize()+"&ajaxRequest=hazard-form",
        'success':function(data) {
            $(_this).html('This is the new text'),
        }
        'url':'#',
        'cache':false
 });
return false;
});

您无需将其与ajax请求一起发送。 这是一种变化。您也可以这样做,为元素分配一些类,并通过该类获取这些元素。