2015-02-09 117 views
0

我想实现jQuery-ui - Sortable我的ASP.NET Gridview控件,但作为我的一个gridview单元格有内部表,它允许在这些内部表中删除以及。我希望它只能在父表中放置,即在GridView的父行之间。防止内表允许删除,在jQuery UI可排序

这是我的Fiddle,这将有助于看到问题。

Sortable被实例化这样的:

$().ready(function(){ 
$("#BodyPlaceHolder_grdManualArrange tbody").sortable({ 
     cancel: ".di-disabled", 
     update: function() { 

     }, 
     handle: ".dragHandle", 
     items: "tr", 
     opacity: 0.8 

    }); 
    $('#BodyPlaceHolder_grdManualArrange tbody').sortable({ items: 'tr:not(:first)' });// Not allowing the first row (head) to be sorted 


    $(".di-disabled-sorting").removeClass("ui-sortable"); // Removing the ui-sortable class from the inner tables 
}); 

在这里,如果你拖行(使用拖动手柄的最左边行),并尝试删除它在其他行之间,它会正常工作,但是如果您尝试将其放在topbottom箭头之间,那么正在排序的行也将被放置在那里,但情况并非如此。

回答

1

这样的事情可能会帮助你mate.i还没有尝试过,但我认为这可能会在一定程度上解决你的情况。添加一个before stop属性,可以帮助你防止你目前的行为。 :)

beforeStop : function (ev, ui) { 
      if ($(ui.placeholder).closest(".di-disabled-sorting").size() == 1)       $(this).sortable('cancel'); 
     },