防止内部表允许丢弃,在jquery ui可排序

时间:2015-02-09 06:03:56

标签: javascript jquery asp.net jquery-ui gridview

我正在尝试将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箭头,正在排序的行也将被丢弃,但情况并非如此。

1 个答案:

答案 0 :(得分:1)

这样的东西可能会帮助你mate.i没有尝试过,但我认为它可能会在一定程度上解决你的情况。添加一个可能有助于阻止你当前行为的停止前属性。 :)

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