Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2012, 16:04
Аспирант
Отправить личное сообщение для wcb-falcon Посмотреть профиль Найти все сообщения от wcb-falcon
 
Регистрация: 11.06.2008
Сообщений: 31

Добавление блоков из шаблона с уникальными именами
Появилась задача создать некое описание при этом использовать для этого добавление блоков из шаблонов (текст, фото и т.д.) в которых уже вводить в разрешенные места данные

блок с кнопкой и позицией для добавления
<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);
				}
			});
		});


но у меня в добавляемых блоках одинаковые имена
помогите пожалуйста доработать
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2012, 17:50
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

wcb-falcon,
Вместо генерации случайного номера , используте счётчик.
var newid = 1;
...  
newid++;
Ответить с цитированием
  #3 (permalink)  
Старый 10.04.2012, 18:14
Аспирант
Отправить личное сообщение для wcb-falcon Посмотреть профиль Найти все сообщения от wcb-falcon
 
Регистрация: 11.06.2008
Сообщений: 31

что с генерацией что с простым увеличение сработало только в том случае когда переменную с шаблоном 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));

пока на данный момент это устраивает.
Если есть какой либо более гуманный способ то расскажите.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск