这是一个用于生成 html 动态输入文本字段的 jquery。 为了给每个文本字段提供不同的名称,'num' 会递增。 我什至尝试“.attr('name', 'device' + num);”...但它不起作用。
$(document).ready(function() {
$("#add").click(function() {
var intId = $("#buildyourform div").length + 1;
var num=0;
num++;
var fieldWrapper = $("<div class=\"fieldwrapper\" id=\"field" + intId + "\"/>");
**var fName = $("<input type=\"text\" class=\"fieldname\" name=\"' + num + '\" />");**
var removeButton = $("<input type=\"button\" class=\"remove\" value=\"-\" />");
removeButton.click(function() {
$(this).parent().remove();
});
fieldWrapper.append(fName);
fieldWrapper.append(removeButton);
$("#buildyourform").append(fieldWrapper);
});
});
如果现在生成了 3 个新文本字段, 我如何在 onkeyup 的每个文本字段中添加值
最佳答案
您在每次点击时都会覆盖num
,并弄乱了字符串符号。
将 num
声明放在回调之外:
var num=0;
$("#add").click(function() {
var intId = $("#buildyourform div").length + 1;
num++;
$('<input type="text" class="fieldname" name="' + num + '" />');
今日提示,在 javascript 中,您可以使用 '
和 "
作为字符串表示法,您可以同时使用它们,并且不需要转义其他表示法。
关于javascript - jquery 中动态生成的文本字段的不同名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18422164/