0
我有一個jquery-ui手風琴部件列表項目部分工作正常(他們也可排序)。但是用戶可能會使用html input元素來添加項目部分。添加元素到jquery的手風琴部件
我想在手風琴小部件上添加新元素。
我的方法如下:銷燬手風琴和可排序的小部件,然後克隆小部件的第一個元素,並將其前置到被克隆的元素,以便新元素成爲第一個元素。之後,再讓小部件再次手風琴和排序。
它確實重新創建了小部件,但它不包含添加的元素!我不明白爲什麼不能...
的HTML轉換爲一個widget:
<div id="accordion">
<div>
<h3><a href="#">Part</a></h3>
<div>
Some explaining text
</div>
</div>
</div>
的JavaScript/jQuery的,這使得第一次加載手風琴也使得排序和手風琴的工作好一起(停止功能):
var stop = false;
$('#accordion h3').click(function(e) {
if (stop) {
e.stopImmediatePropagation();
e.preventDefault();
stop = false;
}
});
$('#accordion')
.accordion({
header: '> div > h3',
fillSpace: true
})
.sortable({
axis: 'y',
handle: 'h3',
stop: function() {
stop = true;
}
});
JavaScript時克隆,並預置元件到窗口小部件,並重新創建插件:
$('#accordion').accordion("destroy").sortable("destroy");
$("#accordion > div:first").clone().prependTo("#accordion > div:first");
$('#accordion')
.accordion({
header: '> div > h3',
fillSpace: true
})
.sortable({
axis: 'y',
handle: 'h3',
stop: function() {
stop = true;
}
});