使用connectWith和maxLevels的jQuery UI nestedSortable无法正常工作

时间:2012-05-16 08:19:02

标签: jquery jquery-ui nested-sortable

由于我正在使用jQuery UI的可排序扩展nestedSortable,我试图创建多个(连接)列表,每个列表在最大嵌套级别中具有单独的选项。 但是插件会检查原始项目(被拖动)中的最大级别数量,而不是它应该被丢弃的位置。

<script type="text/javascript"> 
_isAllowed: function(parentItem, levels) {
    var o = this.options;
    // Are we trying to nest under a no-nest or are we nesting too deep?
    if (parentItem == null || !(parentItem.hasClass(o.disableNesting))) {
        if (o.maxLevels < levels && o.maxLevels != 0) {
            this.placeholder.addClass(o.errorClass);
            this.beyondMaxLevels = levels - o.maxLevels;
        } else {
            this.placeholder.removeClass(o.errorClass);
            this.beyondMaxLevels = 0;
        }
    } else {
        this.placeholder.addClass(o.errorClass);
        if (o.maxLevels < levels && o.maxLevels != 0) {
            this.beyondMaxLevels = levels - o.maxLevels;
        } else {
            this.beyondMaxLevels = 1;
        }
    }
}
</script>

如何使插件的这一部分选择放置项目的位置的maxLevel选项?

1 个答案:

答案 0 :(得分:1)

我做了一个快速(脏)修复来解决问题:

<script type="text/javascript"> 
_isAllowed: function(parentItem, levels) {
    var o = this.options;
    o.maxLevels=$(this.placeholder[0]).closest('.ui-sortable').nestedSortable("option","maxLevels");
</script>