我正在尝试将jQuery-ui - Sortable
实现到我的ASP.NET Gridview控件,但由于我的gridview单元之一有内部表,因此它也允许删除这些内部表。我希望它只能在父表中放置,即在GridView的父行之间。
这是我的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
});
这里如果你拖动一行(使用最左边的行中的拖动句柄),并尝试将其放在其他行之间,它会正常工作,但如果你试图将它放在{{1 }}和top
箭头,正在排序的行也将被丢弃,但情况并非如此。
答案 0 :(得分:1)
这样的东西可能会帮助你mate.i没有尝试过,但我认为它可能会在一定程度上解决你的情况。添加一个可能有助于阻止你当前行为的停止前属性。 :)
beforeStop : function (ev, ui) {
if ($(ui.placeholder).closest(".di-disabled-sorting").size() == 1) $(this).sortable('cancel');
},