#jquery #plugins #dynamic-forms
#jquery #Плагины #dynamic-forms
Вопрос:
В настоящее время я использую плагин jquery dynamic form для добавления полей формы. http://sroucheray.org/blog/jquery-dynamic-form /
Моя задача — переименовать метки полей по мере их добавления / клонирования:
Например:
Поле телефона
Поле телефона 2
Поле телефона 3
Если у кого-нибудь есть опыт работы с этим плагином, я определенно был бы признателен за помощь. Спасибо!
Комментарии:
1. можем ли мы увидеть сгенерированный HTML с помощью плагина?
2. @Chad, конечно, я добавил это в свой оригинальный пост выше.
Ответ №1:
Похоже, что атрибут for созданных меток имеет формат, phone#
где #
это индекс на основе 0, вы могли бы сделать что-то вроде этого:
var i = 0;
var $label = $('label[for="phone' i '"]');
do
{
var txt = 'Phone Field';
if(i > 0)
txt = ' ' i;
$label.text(txt);
i ;
$label = $('label[for="phone' i '"]');
} while($label.length);
Рабочий пример jsFiddle здесь
Редактировать: В ответ на комментарий Дэвида:
Один из способов — перехватывать при добавлении нового клона, подсчитывая, сколько их добавлено (для использования в тексте). Затем вы просто переименовываете добавленную метку:
var numLabels = 0;
$(document).ready(function() {
$("#duplicate").dynamicForm("#plus", "#minus", { //options
limit: 3,
afterClone: function(clone) {
numLabels ;
var txt = 'Phone Field ' numLabels;
$('label', clone).text(txt);
}
});
});
Комментарии:
1. @ DavidJ Мне нужно было увеличить значение
i
перед повторным выбором, я изменил это и опубликовал рабочий пример.2. @David, спасибо за твою тяжелую работу! пытаюсь выяснить, как добавить это в мой фрагмент jquery выше.
3. @Chad, спасибо. Похоже, это не работает, пытаюсь устранить неполадки.
4. @David можете ли вы поделиться ссылкой на свой сайт, используя это, или создать jsFiddle , с которым мы могли бы поиграть. Также, когда вы отвечаете кому-то, вы используете @Person, поскольку вы разговариваете со мной, @Chad уместно (@David означает, что вы разговариваете сами с собой)
5. @Чад, хорошо, спасибо тебе за твое терпение, Чад. пожалуйста, найдите ссылку на js fiddle здесь: jsfiddle.net/thbgQ/4
Ответ №2:
Вам следует заглянуть в .метод jQuery delegate()…Если вам нужна помощь в его реализации, дайте мне знать.
Комментарии:
1. Спасибо, парень, тебе нравится название. Я не самый быстрый в JS, как я мог бы использовать это для изменения имен меток? Я добавил свой плагин JS в свой исходный пост. Большое спасибо за помощь.