我正在尝试使用我遇到的jQuery扩展(handsontable)。我创建表没有问题
var spreadsheet = $("#dataTable").handsontable({
rows: 3,
cols: 15,
minSpareRows: 2
});
然而,在我创建表之后,我想调用各种帮助函数,我在javascript中为Handsontable
对象声明了这些函数。问题是扩展似乎返回this.each(function() { ... });
,我不明白如何从中访问底层Handsontable
对象。可以找到here的扩展名的js,我在下面的链接上放了一个小的演示
正如您所看到的,当我点击按钮时,我想获取其中一个单元格的数据。
答案 0 :(得分:2)
相关代码最终:
$.fn.handsontable = function (action, options) {
if (typeof action !== 'string') { //init
options = action;
return this.each(function () {
if($(this).data("handsontable")) {
instance = $(this).data("handsontable");
...
} else {
...
instance = new Handsontable($(this), currentSettings);
$(this).data("handsontable", instance);
}
});
}
}
这意味着,代码将Handsontable
实例设置为元素的数据属性(并将选定的集返回为可链接的)。拥有一个元素,您可以使用instance = $el.data("handsontable")
轻松提取它。如果你有一组元素,你需要循环它 - 例如与each()
。
答案 1 :(得分:2)
看起来您可以使用插件的onChange方法在每次自动输入时捕获数据。不需要按钮。一个简单的示例,可以添加到上面的代码中。
onChange: function(data) {
$("#data").append(JSON.stringify(data));
}