0

我有一个 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,...等。

我怎样才能做到这一点?

4

3 回答 3

3
 $(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”和“textfield0”

于 2013-08-13T08:36:28.320 回答
0

你可以尝试这样的事情:

$(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);
}); 
于 2013-08-13T08:37:11.033 回答
0

你可以这样尝试:

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);

}
于 2013-08-13T08:39:13.767 回答