Bootstrap select destroy从DOM中删除原始选择
我目前在我的一个项目中使用Bootstrap select插件。 我有一个动态生成的表,其中包含select元素,然后我使用以下命令将其转换为bootstrap select:
_tr.find('select.selectpicker').selectpicker({ size: 10 });
其中_tr
是我添加select元素的行。 这工作正常,显示bootstrap选择,在firebug中我仍然看到原始的select元素。
现在每一行都有一个按钮,用于删除(销毁)引导程序选择。 但它也删除了原始选择,这就是问题,因为我仍然需要原始选择来做其他事情。
我使用以下命令来销毁:
$('select#begin' + _week + _day).selectpicker("destroy"); $('select#end' + _week + _day).selectpicker("destroy"); $('select#pause' + _week + _day).selectpicker("destroy");
在其他插件中,如果使用destroy,它会再次显示原始元素。 这是boostrap选择插件中的问题还是有另一种方法可以删除引导程序选择并重新显示原始选择。
找到解决方案,我编辑插件函数destroy而不是删除原始元素,我把它显示回来:
remove: function () { this.$newElement.remove(); this.$element.show(); // First it was this.$element.remove(); }
我非常感谢你的方法,因为它对我有很大帮助。 但是我发现了一种在不改变原始代码的情况下改进方法的方法。 这是我做的:
jQuery.fn.selectpicker.Constructor.prototype.removeDiv = function () { this.$newElement.remove(); this.$element.show(); };
之后,我们可以使用:
jQuery("#some_id").selectpicker("removeDiv");