我有一个JavaScript函数,用于在单击上一个文本字段时动态生成文本字段。
<input class="incfield" type="text" name="textfield" />
$(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);
});
该功能正常运行,但我希望文本字段应包含动态生成的id
和name
标记。
例如:对于第一个文本字段id = t1 t2,...等
我该怎么做?
答案 0 :(得分: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”
答案 1 :(得分: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);
});
答案 2 :(得分: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);
}