javascript - Ajax 请求多次提交输入
问题描述
我有表格行,当按下一行时,通过 ajax get 请求创建带有输入字段的侧边栏。侧边栏将依次有另一个 ajax 发布请求,用于提交侧边栏中的输入字段。
我遇到的问题是,如果用户在不同的表行上按下然后提交输入字段,它将为所有已按下的表行运行 ajax 调用,但它应该只提交当前所在的行“站在。
Ajax 调用创建带有输入字段的侧边栏:
var ajaxRequest = null;
$('.detailedTable tbody').on('click', '.tablerow', function() {
var somedata = $(this).attr('data-somedata');
ajaxRequest = $.ajax({
url:"/ajax/showAccountSidebar",
method:"GET",
data: {
somedata: somedata,
},
beforeSend:function() {
if(ajaxRequest != null) {
ajaxRequest.abort();
}
},
success:function(data) {
$('#sidemenu').html(data);
}
});
});
在侧边栏中提交输入字段的 Ajax 调用:
var sidebarRequest = null;
$(document).on('click', '#sidebarMenu', function() {
var someData = $("#someData").val();
sidebarRequest = $.ajax({
url:"/ajax/saveAccountNote",
method:"POST",
data: {
inputData: someData
},
beforeSend:function() {
if(sidebarRequest != null) {
sidebarRequest.abort();
}
}
});
});
解决方案
我遇到的问题是调用第二个 AJAX 调用
$(document).on('click', '#sidebarMenu', function() {
将其更改为以下内容,现在它仅提交我上次单击的输入字段:
$('#sidebarMenu').on('click', $(this), function() {
推荐阅读
- excel - 使用 VBA 可以设置工作表以适应一页并用完整个页面
- c++ - 我可以询问并存储可以是数字或字符的输入并在条件表达式中使用它吗?
- paypal - 使用 PayPal 捐赠按钮预先检查定期选项
- xslt - 使用 xslt 将 xml 数据从 1 个标签转换为 2 个不同的列
- python - 调用 C 例程的调试器 python 代码
- java - 如何在android中以编程方式隐藏音量栏?
- amazon-web-services - 使用 terraform 在 route53 上获取托管域的 zone_id
- javascript - 在 AJAX 更新 Ruby on Rails 6 后,语义 UI 模式不会重新打开
- firebase - AccessDeniedException: 403 没有 storage.buckets.get 访问 Google Cloud Storage 存储桶的权限
- kubernetes - 使用 Github 操作部署 Azure AKS