2

我有几个触发相同 JQuery AJAX 请求的 HTML 元素(按钮)。当 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 请求“数据”选项中的键值对发送,然后将其作为 AJAX 响应的一部分传递回客户端。然后我可以获取 id 并知道要更新哪个 HTML 元素。这是处理这个问题的最好方法还是我错过了更明显的东西?谢谢。

4

1 回答 1

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 请求一起发送。这是一种变体。您也可以通过为元素分配一些类并通过该类获取这些元素来做到这一点。

于 2012-06-07T07:52:10.027 回答