克隆的输入字段数组的唯一 ID 值

Unique ID Value To a Cloned Input field Array

本文关键字:唯一 ID 数组 字段 输入      更新时间:2023-09-26
每次

通过单击按钮克隆一组输入字段时,我都会尝试将唯一的 id 值传递给输入字段数组。我正在获取要作为值传递的唯一 id,但它不断将所有输入字段更改为相同的数字。

例如,当我单击克隆按钮时,输入字段值变为 001

当我再次单击该按钮时,第一组和第二组输入字段变为 002,而不是 001 和 002。

这是jsfiddle https://jsfiddle.net/jdarville/mbfjmd02/

<script>
$(document).ready(function() {
Number.prototype.pad = function(size) {
  var s = String(this);
  while (s.length < (size || 2)) {s = "0" + s;}
  return s;
}

var max_fields      = 10; //maximum input boxes allowed
var wrapper         = $(".input_fields_wrap"); //Fields wrapper
var add_button      = $(".add_field_button"); //Add button ID
var x = 1; //initlal text box count
var c = 9;
$(add_button).click(function(e){ //on add input button click
    e.preventDefault();
    if(x < max_fields){ //max input box allowed
        x++; //text box increment
        c++;
        $(wrapper).append('<div><label><span>Template Id :</span><input type="text" name="templateid[]" id="templateid[]"></label><br><label><span>UNC Path :</span><input type="text" name="uncpath[]" id="uncpath[]"></label><br><label><span>Username :</span><input type="text" name="username[]" id="username[]"></label><br><label><span>Password :</span><input type="text" name="password[]" id="password[]"></label><br><label><span>Name :</span><input type="text" name="scantoname[]" id="scantoname[]"></label><a href="#" class="remove_field btn btn-primary">Remove</a></div>'); //add input box

    <!--add input value to 'how many field-->
$.each($('input[name="howmany[]"]'), function() {

    $(this).val(x);
});


    <!--add input value to 'templateid field-->
  $('input[name="templateid[]"]').each(function() {
 $(this).val((c).pad(3));
}); 

    }
});
$(wrapper).on("click",".remove_field", function(e){ //user click on remove     text
    e.preventDefault(); $(this).parent('div').remove(); x--;
})
});
<script>

将计数器 var x 插入到字符串中

演示:https://jsfiddle.net/zer00ne/u93v63vb/

$(wrapper).append('<div><label><span>Template Id :</span><input type="text" name="templateid'+x+'" id="templateid'+x+'"></label><br><label><span>UNC Path :</span><input type="text" name="uncpath'+x+'" id="uncpath'+x+'"></label><br><label><span>Username :</span><input type="text" name="username'+x+'" id="username'+x+'"></label><br><label><span>Password :</span><input type="text" name="password'+x+'" id="password'+x+'"></label><br><label><span>Name :</span><input type="text" name="scantoname'+x+'" id="scantoname'+x+'"></label><a href="#" class="remove_field btn btn-primary">Remove</a></div>'); //add

。更改了此设置,以便获得填充结果:

 $('input[name="templateid'+x+'"]').each(function() {
     $(this).val((x).pad(3,0));
 }); 

并将第一个字段更改为id1name1以及基值001