0
編輯:對部分重複的問題的道歉。我似乎錯過了它。如何動態創建一個json文件從html表格使用javascript
我已經寫了一個函數來掃描表,我希望它使用頭作爲屬性名稱並將其添加到一個空的對象。這個問題似乎與json對象有關。我嘗試了所有我能夠找到並且無法向對象添加屬性的語法。
var jsonData = [{}];
function saveTableToDataSet(tableName,jsonObj) {
\t debugger;
\t var oTable = document.getElementById(tableName);
var columnNames = []
\t var rowLength = oTable.rows.length;
//get column names
var oCells = oTable.rows.item(0).cells;
var cellLength = oCells.length;
for (var i = 0; i < cellLength; i++) {
var cellVal = oCells.item(i).innerHTML;
columnNames[i] = cellVal;
}
//get column data
\t for (var j = 1; j < rowLength; j++) {
\t \t var oCells = oTable.rows.item(j).cells;
var cellLength = oCells.length;
for (var k = 0; k < cellLength; k++) {
var columnName = columnNames[k];
\t \t \t var cellVal = oCells.item(k).innerHTML;
//the problem
\t \t \t jsonObj[j.columnName] = cellVal;
\t \t \t }
\t \t }
\t }
};
我顯然不正確地引用對象及其屬性,但我已經試過語法的無限組合。所有除了正確的一個看似。
編輯︰它只是看到我的jsonObj參數作爲一個字符串。我已經改變了最後一位:
//the problem
newObj = [];
newObj[columnName] = cellVal;
jsonData["dataItem"+j] = newObj;
}
,它的工作。理想的情況是,雖然我希望能夠在傳遞對象的名稱
你怎麼稱呼這個功能? jsonData傳遞給它的是什麼? – AtheistP3ace
目前它的OnCientClick和我傳遞表名和json對象名作爲參數: OnClientClick =「saveTableToDataSet('seriesData','jsonData');」 – RoToQ
它把你的jsonObj視爲一個字符串的原因是因爲你通過引號將變量傳遞給它 – AtheistP3ace