Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.04.2017, 21:50
Интересующийся
Отправить личное сообщение для DVMade Посмотреть профиль Найти все сообщения от DVMade
 
Регистрация: 02.03.2015
Сообщений: 17

Клонирование DIV
Добрый вечер!
Имеется необходимость клонировать div изменить в нем все name. С этим справился, но... в клонируемом div'e есть select, который подклен через плагин "Select 2", и, естественно при копировании, этот Select отказывается работать.. Как починить?

Копируемый DIV
<div class="learner_boxes">

<div id="learner_box" class="learner_box">
<div class="cabinet_qr_top_input_box">
<input class="cabinet_qr_input_fio" name="fio" id="fio" placeholder="ФИО" />
<input class="cabinet_qr_input_prof" name="prof" id="prof" placeholder="Должность" />
<input class="cabinet_qr_input_date" name="date" id="date" placeholder="Год рожд." />

<select class="cabinet_qr_input_educ" name="educ">
    <option>Образование</option>
    <option value="Высшее">Высшее</option>
    <option value="Неоконченное высшее">Неоконченное высшее</option>
    <option value="Среднее специальное">Среднее специальное</option>
    <option value="Среднее техническое">Среднее техническое</option>
    <option value="Среднее">Среднее</option>
    <option value="Неполное среднее">Неполное среднее</option>
</select>
</div>

<div class="cabinet_qr_courses_box">
<select name="course" data-placeholder="Учебный курс" class="cabinet_qr_courses_select">
<option value=""></option>
<?=$option_courses?>
</select>

</div>
</div>

</div>


Ниже него идет подключение "Select 2"
<link href="tuk/css/select2.min.css" rel="stylesheet">
<script src="tuk/js/select2.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
	$( ".cabinet_qr_courses_select" ).select2({
		width: "100%",
		placeholder: "Учебный курс",
        language: {noResults: function(term) {return "Не найден";}}
	});
});
</script>


И, еще ниже, сам скрипт клонирования и подмены name
<script>
var i = 1;
function add_new_learner(){
        var clone = $("#learner_box").clone(true)
        var cloneItems = clone.find("*[name]").andSelf();
        cloneItems.each(function() { 
            $(this).attr("name", $(this).attr("name") + "_" + i);
        });
        clone.appendTo( ".learner_boxes" );
        i++;
};
</script>


Только начинаю изучать JS, надеюсь на полезные ответы
Ответить с цитированием
  #2 (permalink)  
Старый 10.04.2017, 22:13
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,105

DVMade,
для медитации ...
клон надо делать до инициализации select2.
строка 4 код 2 -- перенести в строку 4 код 1.
строка 4 код 2 -- клонировать клон.
строка 10 код 2 инициализировать select2 внутри клона (повторить строки 5-9 код 1).

обьявить переменную клона в строке 3 код 1.
в строке 4 код 2 использовать другую переменную.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обработчик событий для динамически добавленных элементов Tecvid Events/DOM/Window 28 25.06.2018 13:49
Клонирование div блока в форме. RazerVG Events/DOM/Window 0 01.11.2014 16:12
Показать div при наведении / jQuery updaite Элементы интерфейса 4 28.07.2014 03:45
Клонирование DOM объекта или как вставить один div много раз Jmunb Общие вопросы Javascript 7 04.04.2013 14:58
Проблемы с div обновлённым через (#id).load erlcat jQuery 4 03.03.2013 03:41