jquery:在每次单击事件追加和增加输入名称

时间:2013-04-05 18:03:08

标签: jquery

每次单击该按钮时,我需要将name ='0fName'递增1,以便php脚本看到一个唯一的名称,并且不会覆盖前一项。

$(document).ready(function(){
    $('#addMember').click(function() {
        for (var i = 0; i <= 6; i++); 
        console.log("addMember was called");
        $("#addfamMember").append("<input type='text' name='0fName'>");
    return false;
});

4 个答案:

答案 0 :(得分:3)

添加一个计数器:

$(document).ready(function(){
var count=0;
    $('#addMember').click(function() {
        console.log("addMember was called");
        $("#addfamMember").append("<input type='text' name='" + count + "fName'>");
        count++;
    return false;
});

答案 1 :(得分:2)

另一种方法可能是将名称属性更改为fName[]

$('#addMember').click(function () {
    $("#addfamMember").append("<input type='text' name='fName[]'>");
    return false;
});

在这种情况下,数据将作为fName数组发送,这可能比使用一堆单独的参数更方便处理。

答案 2 :(得分:1)

像epascarello所说,添加一个柜台:

$(document).ready(function(){

var counter = 0;

$('#addMember').click(function() {
    console.log("addMember was called");
    $("#addfamMember").append("<input type='text' name='" + counter + "fName'>");

    counter++;
    return false;
});

答案 3 :(得分:1)

.index()也会这样做:

$('#addMember').click(function() {
    var idx = $(':input:last').index();
    $("#addfamMember").append("<input type='text' name='" + idx + "fName'>");
    return false;
});

Fiddle