我正在使用jquery sumoselect库显示多选下拉列表。
现在,我想单击按钮克隆此下拉菜单。
有什么办法可以做到这一点?

$('#chtml').clone().attr('id', 'newid').appendTo('p');


我已经尝试了上面的代码,其中#chtml是td的ID,其中我的multiselect下拉列表存在,我想将此复制到<p></p>标记中。

最佳答案

您的尝试似乎有2个问题。


该库创建<p>标记,因此简单地追加到$("p")实际上就是将select元素插入到现有的SumoSelect实例中。
该库将隐藏原始的<select>,因此无论如何您都将添加不可见的select元素。通过在克隆上调用SumoSelect()来解决此问题。


PS。确实不需要给它一个新的ID,只需删除现有的ID。



$("#chtml").SumoSelect();

$("#chtml").clone().removeAttr("id").appendTo("#cloneGoesHere").SumoSelect();

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.sumoselect/3.0.2/jquery.sumoselect.js"></script>
<link href="https://cdnjs.cloudflare.com/ajax/libs/jquery.sumoselect/3.0.2/sumoselect.css" rel="stylesheet" />


<select name="somename" id="chtml" tabindex="-1">
    <option value="volvo">Volvo</option>
    <option value="saab">Saab</option>
    <option value="mercedes">Mercedes</option>
    <option value="audi">Audi</option>
</select>

<p id=cloneGoesHere></p>

关于javascript - 有什么办法可以在jQuery中克隆sumoselect下拉列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48929681/

10-12 15:10