如何使用 jquery 删除输入数据?

Posted

技术标签:

【中文标题】如何使用 jquery 删除输入数据?【英文标题】:How can i delete input data with jquery? 【发布时间】:2019-11-28 21:50:41 【问题描述】:

我正在尝试制作一个可以自动聚合数字并动态添加输入的应用。当我删除任何输入字段时,不会从总和中减去该数字。如何从我删除的条目中减去数字?感谢您的帮助。

https://jsfiddle.net/0wbv8exd/

var sayac = 1;
$(function() 
  $('#ekle').click(function() 
    sayac += 1;
    $('#ekhizmetler tbody').append(
      '<tr><th><strong></strong></th><td><input id="alan_" name="alanlar2[]' + '" type="text" class="form-control inst_amount" /></td><td><a href="#"class="delete btn btn-danger">Delete</a></td></tr>');
  );

  $('#ekhizmetler').on("click", ".delete", function(e) 
    e.preventDefault();
    $(this).closest("tr").remove();

  )
);

function sumIt() 
  var total = 0,
    val;
  $('.inst_amount').each(function() 
    val = $(this).val();
    val = isNaN(val) || $.trim(val) === "" ? 0 : parseFloat(val);
    total += val;
  );
  $('#total_price').html(Math.round(total));
  $('#total_amount').val(Math.round(total));


$(function() 
  $("#add").on("click", function() 
    $("#container input").last()
      .before($("<input />").prop("class", "inst_amount").val(0))
      .before("<br/>");
    sumIt();
  );

  $(document).on('input', '.inst_amount', sumIt);
  sumIt() // run when loading
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-md-12">
  <table id="ekhizmetler" class="table table-condensed">
    <thead>
      <tr>
        <th>Sıra</th>
        <th>Numbers</th>
        <th>Total</th>
      </tr>
    </thead>
    <tbody>
      <tr>
        <th><strong>1</strong></th>
        <td><input id="alan_2" name="alanlar2[]" type="text" class="form-control inst_amount"></td>
        <td><input id="total_amount" name="total_amount" type="text" class="form-control" value="0"></td>
        <td><a href="#" class="delete btn btn-danger">Delete</a></td>
      </tr>
    </tbody>
    <tfoot>
      <td>
        <p id="ekle"><a href="#ekle" class="btn btn-primary">&raquo; New Field </a></p>
      </td>
    </tfoot>
  </table>
</div>

【问题讨论】:

【参考方案1】:

就像您在单击add 按钮时执行sumIt 一样,在执行删除时通过获取其值从总和中减去。

$('#ekhizmetler').on("click", ".delete", function(e) 
  e.preventDefault();
  curr_val = $(this).closest("tr").val();  # get value of box to be deleted
  total_val = $("#total_amount").val(); # get total value
  $("#total_amount").val(total_val-curr_val); # set new total
  $(this).closest("tr").remove()
)

【讨论】:

非常感谢您的回答,但是当我使用您编写的代码时,我仍然删除的输入中的数据不会从总数中减去。

以上是关于如何使用 jquery 删除输入数据?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 jQuery 删除“禁用”属性?

如何使用 jquery 数据表插件删除当前行

如何通过闪亮的按钮动态添加/删除输入字段

如何使用Jquery清除html输入文本字段的内容

如何使用 jQuery UI 对话框确认数据库行删除?

如何从jQuery中的输入字段中删除焦点?