0

我正在使用这个插件: http: //mjsarfatti.com/sandbox/nestedSortable/

这似乎很棒,只是为默认的 jQueryUI 可排序添加了一些额外的选项(https://github.com/mjsarfatti/nestedSortable - 虽然不适用于 1.9+)。

然而,我似乎有一个问题,你可以从这个小提琴中看到:http: //jsfiddle.net/kzswp/6/似乎导致所有嵌套列表项都算作最根项下的一个大项。

此外,如果您将其中一个根项拖动为另一个根项的子项,则排序字符不一致。即使我试图将一个项目设置为已经存在的嵌套列表中的子项目,它似乎也会创建一个新列表来放置该项目。

这是我的标记:

<ol type="I" id="top-level-list">
        <li>
            <h3>Category #1</h3>
            <div class="child-items">
                    <ol type="A">
                        <li>
                             <div class="form-row" >
                                <div class="form-item">Question #1</div>
                            </div>
                    <div class="child-items">
                        <ol type="1">
                            <li>
                                <div class="required-parent-response c7ad1cdb-e727-4fb7-b0eb-0f04382dcd86">
                                    <div class="form-row" >
                                        <div class="form-item">Some other question</div>
                                    </div>
                                </div>
                            </li>
                            <li>
                                <div class="required-parent-response c7ad1cdb-e727-4fb7-b0eb-0f04382dcd86">
                                    <div class="form-row" >
                                        <div class="form-item">Branch Question - under Question #1</div>
                                    </div>
                                </div>
                            </li>
                        </ol>
                    </div>
            </li>
                    </ol>

                    </div>
        </li>
        <li>
            <h3>Category #2</h3>
            <div class="child-items">
                <ol type="A">
                    <li>
                        <div class="form-row" >
                            <div class="form-item">Category #2 - question 1</div>
                        </div>

                    </li>
                </ol>
            </div>
        </li>

​</p>

我认为问题出<div class="child-items">在嵌套列表周围(页面上的其他 JS 我需要这个),但即使在删除它之后:http: //jsfiddle.net/xJzZU/1/

这只修复了排序字符,但所有子列表及其项目仍然算作一个大项目。

任何人都知道如何在保持child-itemsdiv 围绕这些嵌套元素的同时解决这个问题?

4

1 回答 1

2

首先,您应该在选项中添加items和。toleranceElement像这样的东西:

            $("#top-level-list").nestedSortable({
                //handle: ".ui-icon",
                maxLevels: 3,
                placeholder: "placeholder",
                help: "clone",
                revert: 300,
                opacity: .6,
                forcePlaceholderSize: true,
                tabSize: 40,
                items: 'li',
                toleranceElement: '> *'
            });

其次,不幸的是,额外的东西<div class="child-items">不会真正与nestedSortable一起工作:/
那是因为插件期望ol's和li's处于直接的父子关系......如文档中所述,每个列表项必须有一个两个孩子,其中一个是容差元素,另一个是嵌套列表。

于 2012-12-16T16:05:04.597 回答