javascript - 如何防止在表格中多次追加,一旦它强制使用Jquery双击表格行多次?
问题描述
我有模块将响应结果附加到另一个表。期待我在我的模块中找到了一个解决方案。但是我发现了问题,我会给你们一个场景它的问题。
第一个场景:用户将选择他想要点击的调味品,期待前。用户 1 选择第二个表行,即 Condiments *LG FRIES。
第二个场景:在第一个场景中,用户选择*LG FRIES,如您所见,模态将打开,响应结果将附加到表 B 中。
第三个场景:第一个和第二个场景看起来很有效,但是在这里我将向您展示,一旦我强制双击*LG FRIES的表格行,追加将如何在表格中成倍增加。
所以现在我会让你展示我的代码。
这是我的函数,用于获取单击表行的结果,然后结果将附加到表 B。
$('table#noun_chaining_order').on('click','tr.editCondiments',function(e){
var allow_to_open_condiments_conditional = $(this).closest("tr").find(".allow_to_open_condiments_conditional").text();
if(allow_to_open_condiments_conditional == 'Yes') {
$('.conditional_table_hidden_noun').hide();
$('.conditional_table_hidden_condiments').show();
$('table#noun_chaining_order tr').removeClass('selected');
$(this).addClass('selected');
var find_each_id_condiments = $(this).find('td.condi_section_id').text();
$("table#customer_table_update_chain_order tbody").html('');
$('#customer_modal_update_chain_order').modal('show');
$.ajax({
url:'/get_each_id_section_condiments',
type:'get',
data:{find_each_id_condiments:find_each_id_condiments},
success:function(response){
var get_each_section = response[0].condiments_table;
$.each(get_each_section, function (index, el) {
var stringify = jQuery.parseJSON(JSON.stringify(el));
var cat_condi_screen_name = stringify['cat_condi_screen_name'];
var cat_condi_price = stringify['cat_condi_price'];
var cat_condi_image = stringify['cat_condi_image'];
var image = '<img src=/storage/' + cat_condi_image + ' class="responsive-img" style="width:100px;">';
// $('#edit_chainingBuild').append("<tr class='clickable-row'><td>" + Qty + "</td><td class='clickable-row-condiments'>" + Condiments + "</td><td>" + Price + "</td><td style='display:none;' data-attribute-chain-id="+menu_builder_details_id +" class='data-attribute-chain-id'>"+menu_builder_details_id+"</td></tr>");
$('table#customer_table_update_chain_order tbody').append("<tr class='edit_condimentsClicked' style='font-size:14px; border:none;'><td class='edit_condimentsScreenNameClicked'>" + cat_condi_screen_name + "</td><td class='edit_condimentsScreenPriced'>" + cat_condi_price + "</td><td>"+image+"</td></tr>");
});
},
error:function(response){
console.log(response);
}
});
}
else
{
}
});
所以问题是,一旦我强制双击表格行,如何停止多次附加?
解决方案
我在这里看到了简单的解决方案。
- 当您附加购物车项目时,您可以将该项目 ID 从数据库添加到元素。并且在附加之前检查响应中的项目是否在 BODY 中不存在。
- 另一种解决方案是在您单击附加后 - 隐藏该 CTA(按钮)以防止再次单击。
- 检查您的数据库中的多条记录。
无论如何,请检查您何时执行 ajax 请求?点击后?
您是否尝试过使用断点调试代码?还是控制台?
推荐阅读
- cucumber - 没有 maven 的 Cucumber java 项目 - 如果我有 Runner 类,如何从命令提示符运行
- c# - 当我尝试更新一行时,我得到一个外键错误。为什么?
- r - 颜色在“likert”中重新排列 x 轴 - 我该如何避免这种情况?
- node.js - 安装后如何修复 npm 审计问题和无法在 Eclipse 的 rug.config 中找到 npm 插件
- python - tfidf vectorizer 和 tfidf 转换器有什么区别
- excel - 如何仅突出显示最后编辑的行?
- amazon-web-services - 我们如何使用 Route53 向由外部(第三方)域提供商托管的域创建 DNS 条目
- android - 添加工具栏作为操作栏创建额外的边距
- jpeg - 在 Android Camera2 API 中。我可以使用图像读取器 (YUV_420_888) 进行处理,使用另一个 (JPEG) 来捕获静止图像吗?
- javascript - Express 路由提供 500 个内部服务器