这与jquery
上看到的基本相同以下是该版本的小提琴:http://jsfiddle.net/DHCaA/
我想做的很简单。例如(使用那个小提琴)如果我移动第2部分下面的第1部分,我怎样才能获得切换位置的部分的ID。我需要那些ID,所以我可以对我的模型进行一些计算和更改。
手风琴中的每个元素都是动态创建的,我可以创造任何我想要的东西。例如:
<div id ="first-1" class="group">
这是带有ID的第一个条目。
任何想法?
答案 0 :(得分:2)
function current_order(el){
var order=[];
el.children().each( function(i){
order[i]=this.id;
});
// silly test
for(var i=0; i<order.length; i++){
console.log("got " + order[i]);
}
}
//添加到手风琴停止方法
stop: function( event, ui ) {
// IE doesn't register the blur when sorting
// so trigger focusout handlers to remove .ui-state-focus
ui.item.children( "h3" ).triggerHandler( "focusout" );
current_order($(this));
}
答案 1 :(得分:2)
您可以存储元素的原始索引(例如,通过data()
),并在排序后比较存储的索引和当前索引(当它们不相等时,位置已更改)。之后更新存储的索引。
$( "#accordion" )
.accordion({
header: "> div > h3",
collapsible: true
})
.sortable({
axis: "y",
handle: "h3",
stop: function( event, ui ) {
var items=[];
ui.item.siblings().andSelf().each(function(){
//compare data('index') and the real index
if($(this).data('index')!=$(this).index()){
items.push(this.id);
}
});
// IE doesn't register the blur when sorting
// so trigger focusout handlers to remove .ui-state-focus
ui.item.children( "h3" ).triggerHandler( "focusout" );
if(items.length)alert(items.join(','));
ui.item.parent().trigger('stop');
}
}).on('stop',function(){
$(this).children().each(function(i){$(this).data('index',i)});
}).trigger('stop');
答案 2 :(得分:0)
看看这个:
.sortable({
axis: "y",
handle: "h3",
stop: function( event, ui ) {
var items=[];
ui.item.siblings().andSelf().each( function(){
//compare data('index') and the real index
if($(this).data('index')!=$(this).index()){
items.push(this.id);
}
});
// IE doesn't register the blur when sorting
// so trigger focusout handlers to remove .ui-state-focus
ui.item.children( "h3" ).triggerHandler( "focusout" );
**if(items.length) $("#sequence").text(items.join(','));**
ui.item.parent().trigger('stop');
}
})
在手风琴下方,我用
列出了序列<div>
Sequence: <span id="sequence"> This is the sequence of the elements.</span>
</div>