初始化HandsOntable时摆脱TypeError

时间:2016-06-05 04:42:55

标签: javascript jquery handsontable

我正在检查Handsontable for developers我的一个项目。我已经尝试按照他们的教程初始化一个handontable对象。但我不断得到 TypeError

我的代码在下面 -

var data = [
   ["","Ford","Volvo","Toyota","Honda"],
   ["2016", 10, 11, 12, 13],
   ["2017", 20, 11, 14, 13],
   ["2018", 30, 15, 12, 13]
];

var container = $("#example");
var hot = new Handsontable(container, {
   data: data,
   rowHeaders: true,
   colHeaders: true
});
<link href="http://docs.handsontable.com/0.25.0/bower_components/handsontable/dist/handsontable.full.css" rel="stylesheet"/>
<script src="http://docs.handsontable.com/0.25.0/bower_components/handsontable/dist/handsontable.full.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.0.0-rc1/jquery.min.js"></script>

<div id="example"></div>

演示 - https://jsfiddle.net/x1w95ndx/

我一直试图找到最后一小时的解决方案。如果有人向我展示正确的方向,对我来说真的很有帮助。

1 个答案:

答案 0 :(得分:1)

问题是你传递jQuery collection(一个类似数组的对象,它可以包含多个元素,并提供.css.attr之类的jQuery方法)到{{1}构造函数,当它需要一个普通的DOM元素时。

替换:

Handsontable

使用:

var container = $("#example");

或者:

var container = $("#example")[0];

工作示例:

var container = document.getElementById("example");
var data = [
   ["","Ford","Volvo","Toyota","Honda"],
   ["2016", 10, 11, 12, 13],
   ["2017", 20, 11, 14, 13],
   ["2018", 30, 15, 12, 13]
];

var container = $("#example")[0];
var hot = new Handsontable(container, {
   data: data,
   rowHeaders: true,
   colHeaders: true
});