如何在“添加新”事件后仅将更改应用于新字段?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在“添加新”事件后仅将更改应用于新字段?相关的知识,希望对你有一定的参考价值。

我有一段代码可以自动填充一定数量的新字段。但是,这会自动更新用户编辑之前的值。我需要调整此代码,以便只有新添加的行包含所需的预填充编号而无需编辑任何其他编号。

document.addEventListener("DOMContentLoaded", function(event) {
  copyValueToRepeat();

  var sourceField = document.getElementById( 'field_jimvh' );
  sourceField.addEventListener( "change", function(event) {
  copyValueToRepeat();
  });

});

jQuery(document).on('frmAfterAddRow', copyValueToRepeat );

function copyValueToRepeat(){
  var sourceField = document.getElementById( 'field_jimvh' );
  var repeatFields = document.querySelectorAll( '.frm_field_216_container input');

 for ( var i = 0, len=repeatFields.length; i<len; i++ ) {
        repeatFields[i].value = sourceField.value;
    }   

}

我相信问题是在最后的for循环中,但我不知道如何完全调整它。我认为这个问题很简单,但我的编程技巧是基本的。

谢谢您的帮助。

答案

这行document.querySelectorAll( '.frm_field_216_container input')选择所有字段。您可能希望在新字段中添加额外的css类,例如'new_input_field',然后将查询选择器修改为:document.querySelectorAll( '.frm_field_216_container .new_input_field')

以上是关于如何在“添加新”事件后仅将更改应用于新字段?的主要内容,如果未能解决你的问题,请参考以下文章

SwiftUI:如何仅将修饰符应用于特定元素?

仅将触摸事件转发到被触摸的视图

添加新的 sqlite 字段问题

sqlite如何添加新字段

Tailwind css 适用于新课程不起作用

动态jquery。如何仅将 jquery 应用于某些元素?