<script>
function addRow()
{
$('#newitems tr:last').before('<tr><td><input type="text" name="itemnum" value="value"></td></tr>');
}
</script>
我试图弄清楚每次调用addRow()函数时是否可以设置一个变量来递增上面函数的“name”和“value”。换句话说,我想要以下输出:
首次调用addRow()会返回
<tr><td><input type="text" name="itemnum1" value="value1"></td></tr>
第二次调用addRow()会返回
<tr><td><input type="text" name="itemnum2" value="value2"></td></tr>
第三次调用addRow()返回
<tr><td><input type="text" name="itemnum3" value="value3"></td></tr>
等等
非常感谢任何帮助。
答案 0 :(得分:3)
您可以尝试这样的事情:
var i = 1;
function addRow(){
$('#newitems tr:last').before('<tr><td><input type="text" name="itemnum' + i + '" value="value' + i + '"></td></tr>');
i++;
}
或
function addRow(num_rows){
for(i=0;i<num_rows; i++){
$('#newitems tr:last').before('<tr><td><input type="text" name="itemnum' + i + '" value="value"></td></tr>');
}
}
答案 1 :(得分:2)
首先,指定一个在函数范围内可用的计数器变量。然后,在函数的每次迭代中,将计数器值附加到输出字符串并递增计数器:
<script>
var count = 1;
function addRow() {
$('#newitems tr:last').before('<tr><td><input type="text" name="value'+count+'" value="value'+count+'"></td></tr>');
count++;
}
</script>
答案 2 :(得分:2)
首先你需要一个值来保存数字。我们称之为i
:
var i = 1;
然后,只要输出该行,请使用当前值i
并将其递增:
$('#newitems tr:last').before('<tr><td><input type="text" name="itemnum' + i + '" value="value' + i++ + '"></td></tr>');
请注意,我只在一次使用时增加它,否则它会增加两次。使用++
运算符意味着它评估到当前值,但在评估后递增它。
答案 3 :(得分:2)
如果我理解你,你可以这样做:
<script>
var i = 1;
function addRow()
{
$('#newitems tr:last').before('<tr><td><input type="text" name="itemnum'+i+'" value="value'+i+'"></td></tr>');
i += 1;
}
</script>