如何使用javascript

时间:2015-11-10 15:01:20

标签: javascript html json

编辑:对部分重复的问题道歉。我似乎错过了它。

我编写了一个函数来扫描我想要的表,将标题用作属性名称并将其添加到空对象中。问题似乎与json对象有关。我已经尝试过各种语法,但我无法在对象中添加属性。

var jsonData = [{}];

function saveTableToDataSet(tableName,jsonObj) {
	debugger;
	var oTable = document.getElementById(tableName);
    var columnNames = []
	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
	for (var j = 1; j < rowLength; j++) {
		var oCells = oTable.rows.item(j).cells;
        var cellLength = oCells.length;
        for (var k = 0; k < cellLength; k++) {
            var columnName = columnNames[k];
			var cellVal = oCells.item(k).innerHTML;

   //the problem
			jsonObj[j.columnName] = cellVal;
			}
		}
	}
};

我显然没有正确引用对象或其属性,但我尝试了无限的语法组合。除了看起来正确之外的所有人。

编辑:它只是将我的jsonObj参数视为一个字符串。我把最后一点改为:

  //the problem 
  newObj = []; 
  newObj[columnName] = cellVal; 
  jsonData["dataItem"+j] = newObj; 
}

它正在发挥作用。理想情况下,我希望能够传递对象的名称。

1 个答案:

答案 0 :(得分:0)

将您的电话改为:

OnClientClick="saveTableToDataSet('seriesData', jsonData);"

删除单引号会将jsonData视为变量而不是文字。