2

目的
我的目标是创建一个页面,用户可以在其中将一组预定义的列名从他们已经加载的文件中拖到列标题中。该页面将允许他们在匹配之前将静态标题拖到文件标题中进行映射他们到我们的数据库。

问题
我所有的 drop 都抛出控制台错误:
- 丢弃在同一个数组中抛出:
Uncaught TypeError: object is not a function
- 丢弃文件标题中的可用标题:
Uncaught TypeError: Object [object Array] has no method 'remove'
- 从文件标题中丢弃到可用的抛出:
Uncaught TypeError: object is not a function

示例
这是我正在使用的 jsfiddle:http: //jsfiddle.net/micah0152/PrSWu/1/

更多细节
我希望能够拖动一个可用的标题并将其放在列上方。然后,当用户满意时,我需要获取两者之间的关联(并单击尚不存在的保存按钮。)

可悲的是,我一开始就被困住了。我希望这是一个简单的问题,因为我对淘汰赛还很陌生。

提前致谢。

4

1 回答 1

2

需要将可用的标头包装在 ko.observableArray 中——我也花了一段时间才发现你的错误!

self.availableHeaders = ko.observableArray([
    new MappedHeader("Company"), 
    new MappedHeader("Address 1"), 
    new MappedHeader("Address 2"), 
    new MappedHeader("City"), 
    new MappedHeader("State"), 
    new MappedHeader("Zip"), 
    new MappedHeader("Country")
]);

编辑:错误是说 sourceParent,即要从中移动对象的容器,没有 remove() 函数。它没有删除功能,因为它不是 ko.observableArray。所以为了解决这个问题,我用 ko.observableArray() 包装了数组,现在它具有所有内置的 KO 功能。

于 2013-03-21T22:49:52.787 回答