2014-03-05 45 views
0

我得到了一些可排序的div等等。但他们获得了所有相同的类,所以如果我拖动一个,div的所有内容都隐藏起来。我想获得我正在拖动的div的'id',并将其放入hideshow函数中。jQuery获取可排序元素的ID

应该是这样..

jQuery代码:

$("#column-right").sortable({ 
    connectWith: ".sort", 
    handle: ".title", 
    placeholder: "salih", 
    cursor: 'move', 
    revert: 'invalid', 
    start: function() { 
     .click(function() {  // I know it is wrong but it should be like this 
     var id = $(this).attr('id') 
     } 
     $('id').hide(); 
    }, 
    stop: function() { 
     .click(function() { // same 
     var id = $(this).attr('id') 
     } 
     $('id').show(); 
    } 
}); 

编辑:比如我的问题:fiddle

+0

现场示例或小提琴将有所帮助 –

+0

您正在使用ID分配'sortable',然后尝试获取它的ID。有些事情是不正确的。然后你试图在开始时隐藏正在拖动的项目,并在最后显示?这将会让用户感到困惑 – PlantTheIdea

+1

您应该可能需要将此'var id = $(this).attr('id')'更改为'$(this).hide()'或'$(this) .show()'在你的'click'事件中' – Pavlo

回答

1

请让我知道,如果这是你要找的东西:
JavaScript代码

$("#column-left, #column-middle, #column-right").sortable({ 
    connectWith: ".sort", 
    handle: ".title", 
    placeholder: "salih", 
    cursor: 'move', 
    revert: 'invalid', 
    start: function() { 
     $(this).find('.contents').hide(); 
    }, 
    stop: function() { 
     $(this).find('.contents').show(); 
    } 
}); 
$(".sort").disableSelection(); 

通常,$(this).find('.contents')将完全是您要拖动的子元素(内容)。

另外,我已经将3个相同的方法合并为1,以避免代码中的重复和混乱。

+0

谢谢你的回答,但它不是我正在寻找的。例如看这个小提琴: http://jsfiddle.net/u6TAa/2/ btw感谢所有的一个方法 – STP38