我一直在使用bootstrap selectpicker,我在其中添加了一个Add Button,供用户根据需要复制按钮。问题是,selectpicker不在第二个/克隆元素上工作,下拉列表的值只是显示而不是在点击时改变。
主要选择:
<div id="main_product">
<select name="product[]" class="selectpicker" >
<option value="Tube Lights" >Tube Lights</option>
<option value="Downlights" >Downlights</option>
</select>
</div>
克隆功能:
function clone()
{
var $orginal = $('#main_product');
var $cloned = $orginal.clone();
$cloned.appendTo('#new_products');
// $cloned.find('.bootstrap-select').remove();
// $cloned.find('select').selectpicker();
}
请注意,我尝试将selectpicker重新分配给注释atm中的克隆对象,因为它也可以工作。
任何帮助将非常感激。
我遇到了这个问题,但如果现在使用最新版本,则选择放在.bootstrap-select元素内,以便进行html5错误处理。 remove()也删除了select,解决方法是:
代替:
$cloned.find('.bootstrap-select').remove();
使用:
$cloned.find('.bootstrap-select').replaceWith(function() { return $('select', this); });
这将用它包含的select元素替换.bootstrap-select元素。
function clone()
{
//you can use :
var $orginal = $('#main_product');
var $cloned = $orginal.clone();
//Or
var $cloned = $('#main_product').clone();
//then use this to solve duplication problem
$cloned.find('.bootstrap-select').replaceWith(function() { return $('select', this); })
$cloned .find('.selectpicker').selectpicker('render');
//Then Append
$cloned.appendTo('#new_products');
}