Добавление блоков из шаблона с уникальными именами
Появилась задача создать некое описание при этом использовать для этого добавление блоков из шаблонов (текст, фото и т.д.) в которых уже вводить в разрешенные места данные
блок с кнопкой и позицией для добавления <div id="post_list"></div><a href="javascript:;" class="add_post_list" list="text">Добавить текстовый блок</a> обработка на jquery $(document).ready(function(){ // функция генерации числа function getrandom(min_random, max_random) { var range = max_random - min_random + 1; return Math.floor(Math.random()*range) + min_random; } // елемент в который добавляем var post_list = $('#post_list'); var newid = ''; // шаблон добавляемого блока var block_post_text = '<label>Описание</label><br /><textarea name="opisanie_text_'+newid+'" rows="5" ></textarea>'; // вызов события при нажатии $('.add_post_list').click(function(){ newid = getrandom(10,1000); post_list.append('<div class="post_' + newid + '"></div>'); if($(this).attr('list')=='text'){ $('.post_'+newid).append('text').append(block_post_text); } }); }); но у меня в добавляемых блоках одинаковые имена :( помогите пожалуйста доработать |
wcb-falcon,
Вместо генерации случайного номера , используте счётчик. var newid = 1; ... newid++; |
что с генерацией что с простым увеличение сработало только в том случае когда переменную с шаблоном block_post_text перенес внутрь обработчика $('.add_post_list').click
вопрос в исходном варианте смог решить путем внесения шаблона в функцию function block_post_text(newid){ return '<label>Описание</label><br /><textarea name="opisanie_text_'+newid+'" rows="5" ></textarea>'; } а строку $('.post_'+newid).append('text').append(block_post _text); заменил на $('.post_'+newid).append('text').append(block_post _text(newid)); пока на данный момент это устраивает. Если есть какой либо более гуманный способ то расскажите. |
Часовой пояс GMT +3, время: 23:56. |