2015-02-09 86 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'); 
     }, 
相關問題