Переименование полей формы добавляется или удаляется динамически

0

Я ищу помощь для переименования атрибутов имени некоторых полей, созданных динамически. Теперь мой код назначает новые значения добавленным полям (он увеличивается в зависимости от длины 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/

Теги:
forms

2 ответа

1
Лучший ответ

Вам понадобится инкремент. Ознакомьтесь с этой обновленной скрипкой.

Вот начало кода:

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

Вы можете добавить класс или идентификатор в каждое поле ввода, а затем в зависимости от этого класса или идентификатора добавить имя как

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

Используйте этот jQuery:

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

У вас может быть столько вкладов, что они будут добавлены в зависимости от их класса или идентификатора!

Поэтому, даже если поля ввода удалены, вы все равно будете иметь атрибуты класса в элементе управления!

  • 0
    Пожалуйста, посмотрите мой полный код на jsfiddle. Я хочу, чтобы названия полей ввода были в виде чисел, чтобы легко управлять ими с помощью кода php.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню