Jquery 敲除可排序捕获复杂对象
我的页面使用Knockout.js。我的ViewModel包含一个对象数组。每个对象都包含一个child数组。更一般的是,它应该表示一个包含列和列内容的表 首先,我处理foreach:itemArray以获取列。然后我使用嵌套的foreach:childs,其中childs是列内容的数组 我的孩子们应该可以在柱子之间拖拉。因此,我用找到的js替换了嵌套的foreach 再次使用代码-第一阶段:Jquery 敲除可排序捕获复杂对象,jquery,knockout.js,jquery-ui-draggable,knockout-sortable,Jquery,Knockout.js,Jquery Ui Draggable,Knockout Sortable,我的页面使用Knockout.js。我的ViewModel包含一个对象数组。每个对象都包含一个child数组。更一般的是,它应该表示一个包含列和列内容的表 首先,我处理foreach:itemArray以获取列。然后我使用嵌套的foreach:childs,其中childs是列内容的数组 我的孩子们应该可以在柱子之间拖拉。因此,我用找到的js替换了嵌套的foreach 再次使用代码-第一阶段: <div id="lanesContainer" data-bind="foreach: l
<div id="lanesContainer" data-bind="foreach: lanes">
然后跟随嵌套的foreach(在#lanesContainer内)
我的物品现在可以拖拽了,但掉下来不知怎么会失败。我的调试器在js的以下部分中断:
//take destroyed items into consideration
if (!templateOptions.includeDestroyed) {
targetUnwrapped = targetParent();
for (i = 0; i < targetIndex; i++) {
//add one for every destroyed item we find before the targetIndex in the target array
if (targetUnwrapped[i] && targetUnwrapped[i]._destroy) {
targetIndex++;
}
}
}
//考虑已销毁的物品
如果(!templateOptions.includeDestroyed){
targetUnwrapped=targetParent();
对于(i=0;i
它在第三行中断,因为targetParent是一个对象,而不是一个函数。如何解决此问题?更改
targetUnwrapped=targetParent()代码>
到
更改targetUnwrapped=targetParent()代码>
到
好的,谢谢你。
我的ViewModel包含一个函数,在每次拖放时都会调用该函数
self.dropCallback = function (arg) {
var item = arg.item;
var sourceParent = arg.sourceParent();
var targetParent = arg.targetParent();
blah(); //console.log("Moved '" + arg.item.name() + "' from " + arg.sourceParent.id + " (index: " + arg.sourceIndex + ") to " + arg.targetParent.id + " (index " + arg.targetIndex + ")");
};
变量sourceParent和targetParent现在表示用于foreach的数组。我怎样才能再“走”一层,到下一位家长那里去?好的,谢谢。
我的ViewModel包含一个函数,在每次拖放时都会调用该函数
self.dropCallback = function (arg) {
var item = arg.item;
var sourceParent = arg.sourceParent();
var targetParent = arg.targetParent();
blah(); //console.log("Moved '" + arg.item.name() + "' from " + arg.sourceParent.id + " (index: " + arg.sourceIndex + ") to " + arg.targetParent.id + " (index " + arg.targetIndex + ")");
};
变量sourceParent和targetParent现在表示用于foreach的数组。我怎样才能再“走”一层到下一个父级?好的,是sourceParentNode.parent()好的,是sourceParentNode.parent()好的
self.dropCallback = function (arg) {
var item = arg.item;
var sourceParent = arg.sourceParent();
var targetParent = arg.targetParent();
blah(); //console.log("Moved '" + arg.item.name() + "' from " + arg.sourceParent.id + " (index: " + arg.sourceIndex + ") to " + arg.targetParent.id + " (index " + arg.targetIndex + ")");
};