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

时间:2019-04-15 08:00:29

标签: javascript wordpress input jquery-selectors

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

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循环中,但是我不知道如何精确地调整它。我认为这个问题很简单,但是我的编程技能是基本的。

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

此行document.querySelectorAll( '.frm_field_216_container input')选择所有字段。 您可能想在“ new_input_field”等新字段中添加一个额外的CSS类,然后将查询选择器修改为:document.querySelectorAll( '.frm_field_216_container .new_input_field')