1

我从 rniemeyer 修改了一个 JSFiddle 来说明问题:http: //jsfiddle.net/mTqMt/1/

  <div class="container" data-bind="sortable: groupOrItems">
    <!--ko if: type=='Group'-->
    <div>
      <div class="title" data-bind="text: name()"></div>
      <!--here I would actually have a nested sortable-->
    </div>
    <!--/ko-->
    <!--ko if: type=='Item'-->
    <div class="item" data-bind="text: name()"></div>
    <!--/ko-->
  </div>

Firebug 说:“TypeError:node is null”在 knockout-latest.debug.js 中的第 546 行

我用“foreach”而不是“sortable”尝试了它,然后它起作用了。

有任何想法吗?

4

1 回答 1

3

可排序绑定和 jQuery UI 可排序确实需要一个父元素来抓取您正在排序的内容。

您至少希望将整个“项目”包装在一个元素中,例如:

  <div class="container" data-bind="sortable: groupOrItems">
    <div>
      <!--ko if: type=='Group'-->
      <div>
        <div class="title" data-bind="text: name()"></div>
        <!--here I would actually have a nested sortable-->
      </div>
      <!--/ko-->
      <!--ko if: type=='Item'-->
      <div class="item" data-bind="text: name()"></div>
      <!--/ko-->
    </div>
  </div>

更新:http: //jsfiddle.net/rniemeyer/FSYYb/

于 2013-01-08T16:08:11.187 回答