我将插件Select2用于我的选择块。而且我在克隆时遇到了一些麻烦。第二个问题-在克隆选择中,我无法选择在前面的块中选择的项目。
$(document).ready(function()
{
var Count = 1;
$(".entry").children("select").select2({});
$(".btn-add").click(function () {
$(".entry")
.children("select").each(function () {
$(this)
// 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 controlForm = $('.controls fieldset:first-child'),
currentEntry = $(this).parents('.entry:first'),
newEntry = $(currentEntry.clone()).appendTo(controlForm);
newEntry.find('input').val('');
controlForm.find('.entry:not(:last) .btn-add')
.removeClass('btn-add').addClass('btn-remove')
.html('<div id="rectangle"></div>');
$(".entry").children("select").each(function () {
$(this).select2({});
});
}).on('click', '.btn-remove', function(e)
{
$(this).parents('.entry:first').remove();
e.preventDefault();
$(".entry").children("select").each(function () {
$(this).select2({});
});
return false;
});
});
几天前,我解决了复制一个这样的块的问题。但是今天,我尝试使用相同的代码克隆2个块,并且得到了-在第一行中,我在没有此插件的情况下占用了1个块,并在其中带了1个块,然后第二个项目都获得了它。当我尝试再次克隆时,最后一行有2个原始块和2个重复的块。
我需要的结果是元素的正确克隆以及选择每行中任何项目的能力
更新:我附上工作示例:This is default situation,This happens when we clicking 1 time,Clicking two time,Clicking five times
此代码适用于one select like this