2010-12-09 104 views
1

我需要訪問html單元格的數據,但在此之前,我需要將我的數組的id(details [i] .id)存儲在單元格中。我嘗試了一種隱藏的方式,但是當我顯示錶格時,我得到一個空單元格,而這不是我想要的,我想要的是類似於ASP.net中的DataKeyNames,它使我們有機會存儲該ID,而不必顯示它。訪問HTML表單元數據

這是我用它來顯示一個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. 



} 

希望你能幫助我。

+0

請!有任何想法嗎? :( – eddy 2010-12-09 18:15:52

回答

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); 
} 
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; 
    } 

}