访问HTML表格单元格数据

时间:2010-12-09 17:25:17

标签: javascript

我需要访问html单元格的数据,但在此之前,我需要将单元格的id(details [i] .id)存储在单元格中。我尝试了一个隐藏的,但是当我显示表时,我得到一个空单元格,这不是我想要的,我想要的是ASP.net中的DataKeyNames,这使我们有机会存储id而不必显示它

这是我用来在html表中显示我的数组(详细信息)的代码:

function showTable()
{
    if (details.length>0){
        for (var i=0; i<details.length;i++)
        {
            var tbl = document.getElementById('myTable');

            var newRow = tbl.insertRow(tbl.rows.length);

            var cell1 = newRow.insertCell(0);
            cell1.textAlign='center';
            cell1.innerHTML=details[i].price;

            var cell2 = newRow.insertCell(1);
            cell2.textAlign='center';
            cell2.innerHTML=details[i].description;

            var cell3 = newRow.insertCell(2);
            cell3.textAlign='center';
            cell3.innerHTML='<a href="#"><img src="images/delete.png" width="14" height="14" alt="Delete" onclick="removeDetail(this)"/></a>'

        }



    }
}

最后在 removeDetail 函数中我需要获取单元格值,假设我以某种方式将id放在那里。

function removeDetail(r)
{
    var node = r.parentNode;
    while( node && node.tagName !== 'TR' ) {
        node = node.parentNode;
    }
    var i=node.rowIndex;

    document.getElementById('myTable').deleteRow(i);

    //here's where I need to get the id and, if posible the other values ( price, description) too.



}

希望你能帮助我。

2 个答案:

答案 0 :(得分:1)

第一步:将索引存储为元素的自定义属性:

cell3.innerHTML='<a href="#"><img src="images/delete.png" width="14" height="14" alt="Delete" onclick="removeDetail(this)" details_index="' + i + '" /></a>'

第二步:将行存储为全局数组的一部分:

details[i].row = newRow;

最后一步:在removeDetail函数中读取索引,您就拥有了所需的一切:

function removeDetail(r)
{
    var item = details[parseInt(r.getAttribute("details_index"), 10)];
    item.row.style.display = "none";
    alert("price: " + item.price + ", description: " + item.description);
}

答案 1 :(得分:0)

尝试以下代码:

function checkSequence()

{

  var oTable = document.getElementById('tableID');
  var rowLength = oTable.rows.length;
  var count=0;

  for (i = 0; i&lt;rowLength-1; i++){
    var cellVal = document.getElementById('tableID:'+i).value;
  }

}