在jQuery输出中增加“Name”

时间:2013-11-26 18:19:49

标签: php jquery html function increment

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

等等

非常感谢任何帮助。

4 个答案:

答案 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>