Я использую selected.js версии 1.8.7. Я могу клонировать содержимое div в другой div со всеми данными и событиями, используя clone (true). Я изменил все идентификаторы, чтобы получить новыйУдостоверение личности на клонированных предметах.Проблема в том, что когда я выбираю сгенерированный с помощью JavaScript список выбора, он активирует исходный список выбора, а не сам себя.
Я попытался клонировать без всех данных и событий с помощью clone ().Он клонирует, но не позволяет вновь сгенерированному <select>
раскрыться вообще.Я удалил selected.js, и clone (true) копирует все, и каждый список <select>
работает индивидуально, но нет возможности фильтрации.
<form method="post" name="add_items">
<div class="clone-test" id="cloned">
<select id="items1" name="contract_item[]" class="form-control chosen-select" data-placeholder="Choose a item...">
<option value="0">Select a Item</option>
<option value="1">Car 1</option>
<option value="2">Car 2</option>
<option value="3">Car 3</option>
</select>
</div>
<div class="col-md-6" id="new_items"></div>
</form>
<input type="button" onclick="clone_div()" name="add" value="Add Another Item" class="btn btn-primary" id="add_select">
<script type="text/javascript">
var regex = /^(.+?)(\d+)$/i;
var cloneIndex = $("#cloned").length;
function clone_div(){
$("#cloned").clone(true)
.appendTo("#new_items")
.attr("id", "cloned" + cloneIndex)
.find("*")
.each(function() {
var id = this.id || "";
var match = id.match(regex) || [];
if (match.length == 3) {
this.id = match[1] + (cloneIndex);
}
})
cloneIndex++;
$("#new_items").html(html);
$(".chosen-select").chosen();
}
</script>
Я ожидаю, что каждый отдельный список <select>
будет работатьнезависимо иметь каждый список с возможностью фильтрации, используя selected.js.Я получаю активацию исходного списка выбора независимо от того, какой сгенерированный javascript список <select>
я выберу.