Добрый день, ребята. У меня был вопрос о клонировании моего выбора, который использует плагин select2. Основная проблема - я не могу использовать опцию, которая была выбрана в предыдущем блоке.
Я попытался найти выбранный элемент и удалить его атрибуты, такие как aria-selected и selected
newEntry.find('option:selected').removeAttr('selected').attr('[aria-selected=false]')
Но это не работает.
$(document).ready(function() {
$(".entryDet").children("select").select2({});
$(".btn-add").click(function () {
$(".entryDet")
.children("select")
// call destroy to revert the changes made by Select2
.select2("destroy")
.removeAttr('data-live-search')
.removeAttr('data-select2-id')
.removeAttr('aria-hidden')
.removeAttr('tabindex');
});
$(document).on('click', '.btn-add', function (e) {
e.preventDefault();
var Count = $('.entryDet').size();
var controlForm = $('.controls fieldset:first-child'),
currentEntry = $(this).parents('.entryDet:first'),
newEntry = $(currentEntry.clone(true)).appendTo(controlForm);
var SplitVar = (newEntry.find('select').attr('name')).split('-');
Count > SplitVar[1] ? newEntry.find('select').attr('name','Operations-'+ ++Count) : newEntry.find('select').attr('name','Operations-'+ ++SplitVar[1]);
newEntry.find('option:selected').removeAttr('selected').attr('[aria-selected=false]');
newEntry.find('input').val('');
controlForm.find('.entryDet:not(:last) .btn-add')
.removeClass('btn-add').addClass('btn-remove')
.html('<div id="rectangle"></div>');
$(".entryDet").children("select").each(function () {
$(this).select2({});
});
}).on('click', '.btn-remove', function (e) {
$(this).parents('.entryDet:first').remove();
e.preventDefault();
$(".entryDet").children("select").each(function () {
$(this).select2({});
});
return false;
});
});
Результат, который мне нужно принять, - это возможность выбора всех опций на базе и клонирования.
Это выглядит просто, но я не могу найти решение.
Надеюсь, что кто-то может предложить решение этой проблемы.
UPD: неужели никто не знает, как решить эту проблему?