我有几个HTML元素(按钮)触发相同的JQuery AJAX请求。 当 AJAX 请求成功返回时,我需要对触发 AJAX 请求的 HTML 元素进行一些更新。 如果我对要更新的元素的 id 进行硬编码,例如 id 为 myDiv 的项目,我了解如何执行此操作,如下面的代码所示,但我不确定如何处理与触发事件的元素相对应的动态 id。
$('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 元素。 这是处理这个问题的最好方法,还是我错过了一些更明显的东西? 谢谢。
$('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 请求一起发送。这是一种变体。您也可以通过将某些类附加到元素并按该类获取这些元素来执行此操作。