重命名动态添加或删除的表单字段

时间:2013-12-13 18:15:09

标签: javascript jquery html5 forms css3

我正在寻找帮助来重命名动态创建的某些字段的名称属性。 现在,我的代码为添加的字段分配新值(它根据div的长度递增)但是当我删除字段时出现问题,我不知道如何根据删除的字段数重命名剩余的字段。

jQuery的:

$(document).ready(function () {
    $("#add").click(function () {
        var intId = $("#reglas div").length;
        var fieldWrapper = $('<div></div>', {
            class: 'fieldwrapper',
            id: 'field' + intId
        });
        var fPath = $('<input align="left" type="text" placeholder="Path" class="reglas_wrapper" id="path" name="field1_' + intId + '" required /> ');
        var fTTL = $('<input type="text" class="reglas_wrapper" placeholder="TTL" id="ttl" name="field2_' + intId + '" required />');
        var removeButton = $('<input align="right" type="button" id="del" class="remove" value="-" /> <br><br>');
        removeButton.click(function () {
            $(this).parent().remove();
        });
        fieldWrapper.append(fPath);
        fieldWrapper.append(fTTL);
        fieldWrapper.append(removeButton);
        $("#reglas").append(fieldWrapper);

    });
    $("#cache").each(function () {
        $(this).qtip({
            content: {
                text: $(this).next('.tooltiptext')
            }
        });
    });

});
$('#formsite').on('submit', function (e) {
    //prevent the default submithandling
    e.preventDefault();
    //send the data of 'this' (the matched form) to yourURL
    $.post('siteform.php', $(this).serialize());
});

这是我的完整代码:http://jsfiddle.net/34rYv/131/

2 个答案:

答案 0 :(得分:1)

你会想要一个增量器。看看这个updated fiddle

以下是代码的开头:

$(document).ready(function() {
    var myIncr = 0;
    $("#add").click(function() {
        myIncr++;
        var intId = myIncr;

答案 1 :(得分:0)

您可以为每个输入字段添加一个类或ID,然后根据该类或ID添加名称

<input type="text" class="something" />

使用这个jQuery:

var classval = $('input[type=text]').attr('class'); // get class..
// now add the name as
$(this).attr('name', classval);

您可以拥有尽可能多的输入,根据他们的类或ID添加名称!

因此即使输入字段被删除,您仍然会在控件中拥有类属性!