有关我正在尝试构建的 UI,请参阅此处的 jsFiddle 链接。首先,用户选择一个会议。所选会议的活动显示在手风琴中,每个活动都有表,这些表在手风琴内显示为纯 html 表。用户应该能够拖放表格并自定义其排序顺序。所有这一切都得到了 Knockout JS 的支持,到目前为止效果很好,但我遇到了障碍......
我遇到的第一个问题是“数据绑定”手风琴。我实现了在此处找到的自定义绑定处理程序解决方案,这似乎工作得很好。但是,我似乎无法可靠地连接表记录的可排序功能。
我不能简单地调用$(".sortable tbody").sortable();
. $(document).ready(function(){});
尽管这适用于第一次会议,但一旦 SelectedConference 更改,可排序功能就会丢失。我可以将它添加到 Accordion 的自定义活页夹的更新功能中:
update: function (element, valueAccessor) {
var options = valueAccessor();
$(element).accordion("destroy")
$(element).accordion({ active: "h3:last", collapsible: true });
//TODO: add sortable call here
}
这似乎可行,但我是自定义活页夹的新手。这是低效的吗?有没有更好的方法来实现可排序功能?
谢谢!