You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

jQuery点击按钮克隆元素时如何避免复制input输入框内的已有值

解决方案

jQuery的.clone()方法会完整复制目标元素的实时DOM状态,包括用户输入的表单值、选中的单选/复选状态等交互内容,所以会出现克隆元素携带原有输入框内容的问题,只需在插入克隆元素前清空内部对应表单元素的值即可,修改后的代码如下:

$(function(){
  $(".btn-copy").on('click', function(){
    var ele = $(this).closest('.example-2').clone(true);
    // 清空新克隆节点内的输入框内容
    ele.find('input.form-control').val('');
    $(this).closest('.example-2').after(ele);
  })
})

如果后续需要兼容更多表单元素(单选框、复选框、下拉选择框)的清空需求,可以使用通用表单清空逻辑:

$(function(){
  $(".btn-copy").on('click', function(){
    var ele = $(this).closest('.example-2').clone(true);
    // 清空所有可输入表单元素状态,排除按钮、隐藏域等无需清空的元素
    ele.find(':input').not(':button, :submit, :reset, :hidden')
      .val('')
      .prop('checked', false)
      .prop('selected', false);
    $(this).closest('.example-2').after(ele);
  })
})

以上修改不会影响原有克隆逻辑的事件绑定效果,也不会改动原有已填写的输入框内容。

内容的提问来源于stack exchange,提问作者Aazim Khaki

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 18:18:04