handsontable .getData by div id 不工作?
handsontable .getData by div id is not working?
我正在尝试使用 div id 获取填充的数据,但它正在抛出 $container.data(...) is undefined
。
<!-- ... -->
<div id="app" style="width: 500px; height: 200px;"></div>
</div>
<button id="app_id" onclick="json()">Json</button>
我尝试了以下代码来获取填充数据:
var rowHead = colAr;
var colHead = dataObj[idname].col;
var data = [[]],
container = document.getElementById("app"),
selectFirst = document.getElementById('selectFirst'),
rowHeaders = document.getElementById('rowHeaders'),
colHeaders = document.getElementById('colHeaders'),
hot;
hot = new Handsontable(container, {
minRows:rowHead.length,
minCols:colHead.length,
startRows: 5,
startCols: 5,
rowHeaders: rowHead,
colHeaders: colHead,
contextMenu: false,
outsideClickDeselects: false,
removeRowPlugin: true
});
hot.loadData(data);
function json() {
var $container = $("#app");
var handsontable = $container.data('handsontable').getData();
console.log(handsontable);
/*
var htContents = hot.getData();
var jsonObj = {};
for (var i = 0; i < htContents.length; i++)
{
jsonObj[rowHead[i]] = htContents[i];
}
console.log(jsonObj);
*/
}
但它抛出错误,我尝试了另一个选项:
var cont = hot.getData();
console.log(cont);
这是有效的。但是我有多个 table,所以我需要使用 div id 通过特定的 table 获取数据,我的代码有什么问题?
使用 .handsontable()
而不是 .loadData
。
HTML:
<div id="app"></div>
<a href="javascript:void(0)" id="app_id">Json</a>
JAVASCRIPT:
$(document).ready(function(){
var data = [[]],
container = document.getElementById("app"),
hot;
hot = {
data:data,
minRows:15,
minCols:6,
startRows: 5,
startCols: 5,
contextMenu: false,
outsideClickDeselects: false,
removeRowPlugin: true
};
$('#app').handsontable(hot);
//hot.loadData(data);
$('#app_id').on('click',function(){
debugger
var result = $('#app').data('handsontable').getData();
});
});
终于得到答案
$('#app .ht_master tbody td').each(function(){
var text = $(this).text();
});
我正在尝试使用 div id 获取填充的数据,但它正在抛出 $container.data(...) is undefined
。
<!-- ... -->
<div id="app" style="width: 500px; height: 200px;"></div>
</div>
<button id="app_id" onclick="json()">Json</button>
我尝试了以下代码来获取填充数据:
var rowHead = colAr;
var colHead = dataObj[idname].col;
var data = [[]],
container = document.getElementById("app"),
selectFirst = document.getElementById('selectFirst'),
rowHeaders = document.getElementById('rowHeaders'),
colHeaders = document.getElementById('colHeaders'),
hot;
hot = new Handsontable(container, {
minRows:rowHead.length,
minCols:colHead.length,
startRows: 5,
startCols: 5,
rowHeaders: rowHead,
colHeaders: colHead,
contextMenu: false,
outsideClickDeselects: false,
removeRowPlugin: true
});
hot.loadData(data);
function json() {
var $container = $("#app");
var handsontable = $container.data('handsontable').getData();
console.log(handsontable);
/*
var htContents = hot.getData();
var jsonObj = {};
for (var i = 0; i < htContents.length; i++)
{
jsonObj[rowHead[i]] = htContents[i];
}
console.log(jsonObj);
*/
}
但它抛出错误,我尝试了另一个选项:
var cont = hot.getData();
console.log(cont);
这是有效的。但是我有多个 table,所以我需要使用 div id 通过特定的 table 获取数据,我的代码有什么问题?
使用 .handsontable()
而不是 .loadData
。
HTML:
<div id="app"></div>
<a href="javascript:void(0)" id="app_id">Json</a>
JAVASCRIPT:
$(document).ready(function(){
var data = [[]],
container = document.getElementById("app"),
hot;
hot = {
data:data,
minRows:15,
minCols:6,
startRows: 5,
startCols: 5,
contextMenu: false,
outsideClickDeselects: false,
removeRowPlugin: true
};
$('#app').handsontable(hot);
//hot.loadData(data);
$('#app_id').on('click',function(){
debugger
var result = $('#app').data('handsontable').getData();
});
});
终于得到答案
$('#app .ht_master tbody td').each(function(){
var text = $(this).text();
});