Создание следующего Div'а
Есть такая страница:
<div id="test_[B]1[/B]"> <input type="text" name="address_1" id="address_1" value="" placeholder="Адрес" size="25" class="NewAdvertAddress" /> <input type="text" name="schedule_1" id="schedule_1" value="" size="15" onclick='schedule(1, "false")' placeholder="Выберите график" class="NewAdvertSchedule" /> <textarea name="comment_1" id="comment_1" placeholder="Комментарии" cols="70" rows="2" class="NewAdvertComment"></textarea> </div> Необходимо получить все элементы этого дива и клонировать так, что бы полчилось: <div id="test_[B]2[/B]"> <input type="text" name="address_2" id="address_2" value="" placeholder="Адрес" size="25" class="NewAdvertAddress" /> <input type="text" name="schedule_2" id="schedule_2" value="" size="15" onclick='schedule(2, "false")' placeholder="Выберите график" class="NewAdvertSchedule" /> <textarea name="comment_2" id="comment_2" placeholder="Комментарии" cols="70" rows="2" class="NewAdvertComment"></textarea> </div> Пробовал функцией .children(); Но не знаю, как среди всех забранных элементов выцепить один... |
Цитата:
http://jquery-docs.ru/Core/eq/#position |
Цитата:
|
С этим разоюрался,
делаю так: $("#AddressInformation_0").children().map( function() { var clon = $("#"+this.id).clone(); var nameExplode = this.name.split('_'); var nextName = +nameExplode[1]+1; clon.attr('name', nameExplode[0]+'_'+nextName).attr('id', nameExplode[0]+'_'+nextName).appendTo('#AddressInformation_1');}); Но вот появляется следующий вопрос, как мне отредактировать событие OnClick? При вызове this.onclick, JQuery возвращает не ожидаемую строку: schedule(0, "false"), которую можно сплитом поделит и отредактировать, а вот такое: function anonymous(event) { schedule(0, "false") } И это .split(','), не поддается, что делать? Пожалуйста помогите... |
Цитата:
Например ту циферку хранить в некоем параметре элемента... Пусть скрипт берет нужное значение из него... |
А вы не могли бы пример написать? Хотя бы как это делать?
|
Цитата:
А пока только огрызки на которых и показать-то ничего не покажешь... |
Воть:)
<div id="AddressInformation_0" class="AddressInformation"> <input type="text" name="address_0" id="address_0" value="" placeholder="Адрес" size="25" class="NewAdvertAddress" /> <input type="text" name="schedule_0" id="schedule_0" value="" size="15" onclick='schedule(0, "false")' placeholder="Выберите график" class="NewAdvertSchedule" /> <textarea name="comment_0" id="comment_0" placeholder="Комментарии" cols="70" rows="2" class="NewAdvertComment"></textarea> <p> <button name="addAddress_0" id="addAddress_0" type="button" class="NewAdvertAddAddress" onclick='PriceAddAddress("add, 0")'>Добавить адрес</button></p> </div> JQuery: function PriceAddAddress(type ,number) { if(type == 'add') { var NextNumber = number + 1; //Создаем новый ДИВ с заранее высчитанным NextNumber $('#AddressInformation_'+number).after('<div id="AddressInformation_'+nextNumber+'" class="AddressInformation"></div>'); //передаем название ДИВА, который необходимо клонировать с //измененными id и name PriceAddNewInput('#AddressInformation_'+nextNumber); } else { $('#AddressInformation_'+number).remove(); } } function PriceAddNewInput(div) { //перебираем все дочерние элементы и перебирая изменяем ID и Name $(div).children().map( function() { var clon = $("#"+this.id).clone(); var nameExplode = this.name.split('_'); var nextName = +nameExplode[1]+1; //Вставляем в ДИВ, сощданный нами ранее clon.attr('name', nameExplode[0]+'_'+nextName).attr('id', nameExplode[0]+'_'+nextName).appendTo('#AddressInformation_'+nextName); }); } |
Опять огрызки... :D
|
Отредактировал, что еще надо то? :)
|
Часовой пояс GMT +3, время: 02:21. |