Ich versuche, die gefüllten Daten mit der Div-ID zu bekommen, aber es wirft .handsontable .getData von Div-ID funktioniert nicht?
<!-- ... -->
<div id="app" style="width: 500px; height: 200px;"></div>
</div>
<button id="app_id" onclick="json()">Json</button>
Ich habe den folgenden Code versucht, die gefüllten Daten zu erhalten:
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);
*/
}
Aber es ist Fehler zu werfen, sondern habe ich versucht, mit einer anderen Option:
var cont = hot.getData();
console.log(cont);
Dies funktioniert. Aber ich habe mehrere Tabellen, also muss ich die Daten durch die bestimmte Tabelle mit der Div-ID bekommen, was ist das Problem in meinem Code?
Haben Sie 'handsontable()' auf '# app' instanziiert? Was ist 'heiß'? Irgendwelche Fehler in der Konsole? Wir müssen viel mehr von Ihrem Code sehen, um Ihnen zu helfen. –
haben Sie den Data Setter gemacht? –
@RoryMcCrossan Beitrag bearbeitet. In der Konsole wird '$ container.data (...) ist undefined' Fehler angezeigt. – mkHun