【问题标题】:Prevent inner table from allowing drop, in jquery ui sortable防止内表允许删除,在 jquery ui 中可排序
【发布时间】:2015-02-09 06:03:55
【问题描述】:

我正在尝试将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
});

在这里,如果您拖动一行(使用最左侧行中的拖动手柄),并尝试将其放在其他行之间,它会正常工作,但如果您尝试将其放在top 之间和bottom 箭头,被排序的行,也将被丢弃在那里,这不应该是这种情况。

【问题讨论】:

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


    【解决方案1】:

    这样的事情可能会帮助你交配。我没有尝试过,但我认为它可能会在某种程度上解决你的情况。添加一个 before stop 属性可能会帮助你防止你当前的行为。 :)

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-14
      • 2012-07-31
      • 1970-01-01
      • 2014-11-04
      • 1970-01-01
      • 2012-06-26
      • 2013-11-02
      相关资源
      最近更新 更多