Показать сообщение отдельно
  #8 (permalink)  
Старый 20.09.2012, 13:50
Кандидат Javascript-наук
Отправить личное сообщение для OklickSpb Посмотреть профиль Найти все сообщения от OklickSpb
 
Регистрация: 17.02.2012
Сообщений: 130

Воть
<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);
        });
    }

Последний раз редактировалось OklickSpb, 20.09.2012 в 21:57.
Ответить с цитированием