Добавление и удаление элементов текстового поля - PullRequest
1 голос
/ 23 января 2011

Мне удается найти код в Интернете, который позволяет мне удалить и добавить текстовое поле. Тем не менее, я пытаюсь изменить коды в соответствии с моей ситуацией добавления и удаления текстового поля в отдельных итерациях на одной странице, и эти коды не позволяют мне это сделать .. Вот мой код для добавления и удаления:

                $('#btnAdd').click(function() {
                var num     = $('.clonedInput').length; // how many "duplicatable" input fields we currently have
                var newNum  = new Number(num + 1);      // the numeric ID of the new input field being added
                // create the new element via clone(), and manipulate it's ID using newNum value
                var newElem = $('#input' + num).clone().attr('id', 'input' + newNum);
                // manipulate the name/id values of the input inside the new element
                newElem.children(':first').attr('id', 'name' + newNum).attr('name', 'name' + newNum);
                //prepend table code
                $('#input' + num).append('<tr><td colspan="2"><label>');
                // insert the new element after the last "duplicatable" input field
                $('#input' + num).after(newElem);
                //prepend table code
                $('#input' + newNum).append('</label></td></tr>');
                // enable the "remove" button
                $('#btnDel').attr('disabled','');
                // business rule: you can only add XXX times
                if (newNum == 5)
                    $('#btnAdd').attr('disabled','disabled');

                return false
                    });

            $('#btnDel').click(function() {
                var num = $('.clonedInput').length; // how many "duplicatable" input fields we currently have
                $('#input' + num).remove();     // remove the last element
                // enable the "add" button
                $('#btnAdd').attr('disabled','');
                // if only one element remains, disable the "remove" button
                if (num-1 == 1)
                    $('#btnDel').attr('disabled','disabled');

                return false    
                });



            $('#btnDel').attr('disabled','disabled');

Вот ссылка на идею о том, что я имею в виду: Знаки «+» и «-» - это то, для чего используются коды, но их нельзя использовать в отдельных случаях ... что я могу сделать, чтобы их можно было использовать на одной и той же html-странице независимо от количества итераций, которые я намерен увеличить или уменьшить?

1 Ответ

0 голосов
/ 23 января 2011

Прежде всего, я думаю, что вы должны попытаться написать плагин и запустить здесь , например.Тогда вам не нужно нумеровать элементы, которые вы добавляете.Если вы удалите последний, который вы можете просто использовать:

$('#yourItemContainer').last().remove();

Тогда вы говорите, что кнопки + и - нельзя использовать в отдельных случаях.Я предполагаю, что весь элемент клонирован в вашем коде, и я не могу видеть, как создаются элементы + и -, но если они имеют идентификатор, они могут больше не быть уникальными и, следовательно, они могут не делать то, что вы ожидаете от них.Поэтому убедитесь, что идентификаторы уникальны или даже лучше, не используйте идентификаторы в этом случае, но присвойте им имя класса, которое не должно быть уникальным, и при удалении удалите как:несколько шагов дальше.Если нет, пожалуйста, пришлите более подробную информацию здесь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...