你如何使用jquviews和jquery sortable?

时间:2014-04-22 15:43:01

标签: javascript jquery jquery-ui jsrender jsviews

我已经设置了jsFiddle Example我正在使用jsViews和JQuery sortable。如果您没有更改任何内容,删除工作正常;但是如果您更改表中项目的顺序,然后删除任何项目,它会删除多个项目。我该如何解决?我假设有一种方法可以在移动完成后刷新观察者。

$("#sortableQuestionArea").sortable({
  placeholder: "ui-state-highlight",
  handle: ".sort-handle",
  update: function(event, ui) {
    // refresh code here??
  }
});

1 个答案:

答案 0 :(得分:2)

这是jQueryUI可排序 - 当您拖放时执行DOM操作。但是,如果您使用JsViews创建数据驱动的UI,那么您的UI需要是数据驱动的 - 并且要更改排序数据所需的顺序,而不是UI。

UI不能同时通过移动DOM元素来进行数据驱动和操作。通常,将两者混合是不可能的或非常脆弱的。无论您使用什么数据绑定框架(JsViews,Knockout或其他一些框架......),这都适用。

请注意,在您的示例中,删除和插入项目使用的是数据驱动方法 - 而不是直接添加或删除DOM元素。这是用于数据驱动的UI的正确模式...