如何防止在表中添加多次,一旦使用Jquery迫使它多次双击表行?

时间:2019-02-22 07:37:55

标签: javascript jquery

我有将响应结果附加到另一个表的模块。期待我在我的模块中找到了解决方案。但是我发现问题在于,我会给你们一些方案,它会带来什么问题。

第一个场景:  用户将选择他想单击的调味品,向前看。用户1选择第二个表格行,即调味品 * LG薯条

first scene

第二种情况:  在第一种情况下,用户选择 * LG FRIES ,如您所见,模态将打开,响应结果将附加到表B中。

second scene

第三种情况:好,第一种和第二种情况看起来都不错,但在这里我将向您展示,一旦我强制双击的表行,追加将如何在表中相乘* LG薯条

third scene

所以现在我将让您显示我的代码。

这是我用来获取单击表行的结果的功能,然后结果将附加到表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
    {

    }

});

问题是,一旦我强制双击表格行,如何停止多次追加?

1 个答案:

答案 0 :(得分:0)

我在这里看到简单的解决方案。

  1. 追加购物车项目时,可以从数据库中添加该项目ID 元素。并在附加之前检查响应中是否有项目 在BODY中不存在。
  2. 另一种解决方案是在您点击附加后-隐藏该CTA     (按钮)以防止再次单击。
  3. 检查数据库中是否有多条记录。

无论如何,请检查您何时执行ajax请求?点击后?

您是否尝试过使用断点调试代码?或控制台?