如何为文本字段生成动态名称和id

How to generate dynamic name and id for a textfield

本文关键字:动态 id 文本 字段      更新时间:2023-09-26

我有一个JavaScript函数,用于在单击上一个文本字段时动态生成文本字段。

HTML

<input class="incfield" type="text" name="textfield" />

JavaScript

$(function () {
var createNewField = function () {
    var $node = $('<input class="incfield" type="text" name="textfield");
    $node.one('click', createNewField);
    $(this).after($node);
}
    };
$('input.incfield').one('click', createNewField);

});

函数工作正常,但我希望文本字段应该有一个动态生成的idname标记。

例如:对于第一个文本字段id=t1 t2,。。。等

我该怎么做?

 $(function () {
    var cnt= 0;
    var createNewField = function () {
    var $node = $('<input class="incfield'+cnt+'" type="text" name="textfield'+cnt+'"/>');
        $node.one('click', createNewField);
        $(this).after($node);
    cnt++;
    }
 };

这将创建一个动态名称和id"incfield0"answers"textfield0"

你可以尝试这样的东西:

$(function () {
  var createNewField = function () {
      var $node = $('<input class="incfield" type="text" name="textfield">');
      var n = $('input.incfield').length;
      $node[0].id = "t" + n;
      $node[0].name = "t" + n;
      $node.one('click', createNewField);
      $(this).after($node);
  }
  $('input.incfield').one('click', createNewField);
}); 

您可以这样尝试:

var createNewField = function () {
 var n = $("input.incfield:text").length+1;
    var $node = $('<input class="incfield" id='+n+' type="text" name="textfield">');
    $node.one('click', createNewField);
    $(this).after($node);
}