繁体   English   中英

淘汰表:从排序列表中排除项目

[英]Knockout-Sortable: Exclude item from sort list

我正在使用剔除可排序的集合进行排序,并且我有一个“新”行,该行应始终为空,并位于列表的底部。 我可以通过检查beforeMove中的位置来取消“此之后”的放置,但是如果我可以防止该行下面的区域首先显示为可放置的目标,那就更好了。

这可能吗? 该行本身我整理的, 我与排序结合的容器收集在真实元素:和这些东西是很难改变的。

<div id="main">
    <h3>Tasks</h3>
    <div class="container" data-bind="sortable: tasks">
        <div class="item">
            <span data-bind="visible: !$root.isTaskSelected($data)">
                <a href="#" data-bind="text: name, click: $root.selectedTask"></a>
            </span>
            <span data-bind="visibleAndSelect: $root.isTaskSelected($data)">
                <input data-bind="value: name, event: { blur: $root.clearTask }" />
            </span>  
        </div>
    </div>
    <a href="#" data-bind="click: addTask">Add Task</a>
</div>

基本的可排序JSFiddle 我希望将其置于“输入新任务”行下方是不可能的。

您可以使用items 选项的jQuery UI的排序用于此目的。

这样的想法是,您将一个类放在您实际上希望可排序的items ,然后使用items选项选择它们。

此类可能来自计算。 您所计算的值可能与列表中的最后一项有关。

绑定时,它看起来像: sortable: { data: items, options: { items: '.good-items' } }

这是一个基本示例: http : //jsfiddle.net/rniemeyer/mBjHN/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM