标签: knockout-sortable

敲除"if"绑定不能与可排序列表中的表达式一起使用?

我只是遇到了使用Knockout和Knockout-sortable插件制作的To-do-like sortable列表的另一个问题.

我需要在当前时间放置的元素下放置一个红色分隔符,如果在该分隔符之前删除了一个元素,则取消排序.

我尝试使用"可见"绑定并且它以某种方式工作,但是visibile绑定只是隐藏了DOM元素,它搞乱了可排序的arrayIndex,为它添加了不必要的元素.

<div class="delimiter" data-bind="visible: time() == $root.limit()"></div>
Run Code Online (Sandbox Code Playgroud)

"if"绑定会更好,因为它只在必要时插入DOM元素,但我用于visible的表达式总是被评估为true,我无法弄清楚为什么......

<div class="delimiter" data-bind="if: time() == $root.limit()"></div>
Run Code Online (Sandbox Code Playgroud)

这是小提琴:http://jsfiddle.net/ingro/VaqqF/

任何帮助表示赞赏,谢谢!

knockout.js knockout-sortable

7
推荐指数
1
解决办法
1万
查看次数

Knockout.js嵌套可排序绑定

我正在使用knockout.js可排序的插件; 但是,我遇到了一个我迄今无法解决的问题.我有两个可排序的绑定,一个用于存储桶,另一个用于bucketItems.我能够在桶之间重新排序bucketItems; 但是,我无法重新排序桶.你知道为什么会这样吗?我也使用嵌套绑定,但据我所知,这不是导致问题的原因.

我非常感谢您提供的任何见解.

knockout.js knockout-sortable

6
推荐指数
1
解决办法
1424
查看次数

如何防止淘汰嵌套可排序允许丢弃子列表?

我有一个淘汰可排序的列表,里面有淘汰的可排序列表.基本上它是基本的"可用学生"示例(http://jsfiddle.net/rniemeyer/UdXr4/),只是我希望表格也可以排序.

我主要工作,但我有一个问题,能够将表拖动到其他表.

我能够在表格列表中添加一个allowDrop函数,以防止学生被放入表格列表,

        this.isTable = function(arg) {
            return arg.sourceParent != undefined;
        };
Run Code Online (Sandbox Code Playgroud)

所以我希望在学生名单上有类似的东西,不允许有桌子,但对于我的生活,我无法理解.我试过看id,甚至看看性别属性是否可用(因为它应该只对学生来说)无济于事......

我编辑了一个jsfiddle,使它更像我的情况; 你会看到你拖动一张桌子,你可以把它放到另一张桌子里. http://jsfiddle.net/nYSLq/1/

任何帮助或建议将不胜感激.

javascript knockout.js knockout-sortable

5
推荐指数
1
解决办法
808
查看次数

在淘汰赛中禁用个别项目 - 可排序

在knockout-sortable中,我知道您可以isEnabledsortable绑定中禁用可排序列表.我也知道你可以cancelDrop在一个beforeMove函数中禁用移动项目.问题是,isEnabled禁用整个列表,并且cancelDrop只能在项目已拖放到另一个项目后调用sortable.

有没有办法禁用sortable某些包含项目的点击/拖动行为?

knockout.js knockout-sortable

3
推荐指数
1
解决办法
1878
查看次数

如何使用jQuery UI排序闪烁?

我有一张可分类的扑克牌清单.为了显示牌的顶部,我给每张牌一个负底线.一旦我这样做,jQuery可排序变得非常复杂并且难以使用.我怎样才能消除这个傻瓜呢? 在闪烁的顶部,我如何获得适当的垂直对齐拖动?看来我必须在列表的上方或下方行,以使其将占位符移动到列表的那些边.

我把我的代码放在http://jsfiddle.net/otac0n/wDTwX/上,这样你就能感受到它,但这里有它的要点:

// HTML
<div class="deck" data-bind="sortable: { data: Cards, options: { placeholder: 'card', cursorAt: { left: 5, top: 5 }, tolerance: 'pointer' } }">
    <div class="card" data-bind="text: Name, style: { background: Color }"></div>
</div>

// CSS
.deck
{
    margin: 10px;
    padding: 0 0 130px 0;
}

.card
{
    width: 100px;
    height: 150px;
    border: 1px solid black;
    border-radius: 8px;
    background: White;
    color: White;
    margin: 0 0 -130px 0;
    padding: 5px;
}

// JS
var vm = { …
Run Code Online (Sandbox Code Playgroud)

jquery jquery-ui jquery-ui-sortable knockout.js knockout-sortable

2
推荐指数
1
解决办法
3528
查看次数

防止项目在其他(父/子)元素中"可放置"

我使用knockout-sortable.js让用户拖放项目给他们一个不同的顺序,但是当我在我的页面上有多个"drop zone"时,我遇到了问题.我有嵌套集,所有这些集都是可排序的,但不可互换.

我的代码:

    <div class="sortable" data-bind="sortable: blueprint.pages">
          <tr><td>Blabla</td></tr>
    </div>
Run Code Online (Sandbox Code Playgroud)

在其他一些方面:

    <div class="sortable" data-bind="sortable: selectedPage().page_sections">
          <tr><td>Another blabla</td></tr>
    </div>
Run Code Online (Sandbox Code Playgroud)

我现在可以将'Another blabla'拖放到'Blabla'中,导致错误.我怎样才能防止这种情况发生?

knockout.js knockout-sortable

2
推荐指数
1
解决办法
2081
查看次数

如何使用knock out更改表的行顺序.拖放或使用向上/向下按钮

如何使用knockout更改表的行顺序.我有小提琴:

使用knockout-sortable.js.例

请协助.我的小提琴如下:

JSFiddle示例

  [1]:http://jsfiddle.net/rniemeyer/hw9B2/
  [2]:https://jsfiddle.net/nagarajputhiyavan/x9vc10zu/3/
Run Code Online (Sandbox Code Playgroud)

html jquery knockout.js knockout-sortable

2
推荐指数
1
解决办法
720
查看次数

从外面敲出可拆卸的拖放

也许有人可以帮助我.
我在webapp中获得了大量的视图.左侧有产品列表,右侧有类别列表.产品应该在类别中拖动.
产品列表是一个observableArray.现在,当列表有超过1000个条目时,我们遇到了性能问题(特别是在IE上).因此,因为产品本身不会改变,我们将它们从敲除绑定中取出,将它们连接在一个字符串中并仅附加一个节点.当然,淘汰赛的可排序装订不再适用了......

这是类别的模板:

<div data-bind="sortable: {data: Products, beforeMove: $root.verifyProducts}, attr: { 'data-max': MaxProducts }">
<div class="menuEditTab2CatDragItem clearfix" data-bind="attr: { 'data-prodid': Id }">
    <div class="menuEditTab3ProdsNameText" data-bind="text: Name"></div>
    <div class="pull-right" style="margin-left:8px;"><i style="margin-top:-4px;" class="icon-remove" data-bind="click: $parent.removeProduct"></i>

    </div>
    <div class="pull-left menuEditTab3ProdsIdText">ID: <span data-bind="text: Id"></span>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是左侧产品列表的js代码:

function fillAllProductsTab() {
        var parts = '';
        allProducts.forEach(function (item) {
            parts += '<div id="f_all_' + item.Id + '" >' +  // draggable="{data: $data, options:{containment: \'\#menuEditTab3Ce\', revert: \'invalid\'}}"
                '<div class="menuEditTab2CatDragItem">' +
                '<div>' + item.Name + '</div><div class="clearfix …
Run Code Online (Sandbox Code Playgroud)

jquery drag-and-drop knockout.js knockout-sortable

1
推荐指数
1
解决办法
1903
查看次数