2016-08-11 10 views
0

Ich habe eine HTML-Tabelle. Wo jede Tabellenzeile mehrere Eingabetextbereiche enthält und jeder Eingabetextbereich eindeutige IDs aufweist, die von Javascript dynamisch zugewiesen werden. Nun möchte ich alle IDs der 1. Spalte meiner Tabelle in ein Array einfügen. Ich stehe in dieser Angelegenheit vor einem Problem. Hilf mir bitte.Tabelle Zelle Wert Zugriff in Javascript

Html-Code meiner Tabelle ist wie folgt:

<table id="POITable"> 
    <tr> 
     <th>Item</th> 
     <th>Brand</th> 
     <th>UOM</th> 
     <th>Quantity</th> 
     <th>Remarks</th> 
    </tr> 

    <tr style="visibility:hidden;">    <!-- This is just a dummy row--> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><img alt="Icon" src="/assets/add-icon.png" id="addmorePOIbutton" onclick="insRow()" /></td> 
     <td><img alt="Icon" src="/assets/minus-icon.png" id="delPOIbutton" onclick="deleteRow(this)"/></td> 
    </tr> 

    <tr> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><input size=25 type="text"/></td> 
     <td><img alt="Icon" src="/assets/add-icon.png" id="addmorePOIbutton" onclick="insRow()" /></td> 
     <td><img alt="Icon" src="/assets/minus-icon.png" id="delPOIbutton" onclick="deleteRow(this)"/></td> 
    </tr> 
</table> 

Jetzt ist mein Javascript-Code die IDs der Texteingabefeld zu setzen ist:

function make_summary() 
    { 
    var arr=new Array(); 
    var x=document.getElementById('POITable'); 
    var size=x.rows.length; 

    for (i=2;i<=x.rows.length-1;i++) 
    { 
     var each_row=x.rows[i]; 
     var each_col=each_row.cells[1]; 
     console.log(each_col); 
    } 
    } 

ich je Tabellendaten zugreifen können, ich das td-Tag bedeuten, aber da gibt es <input> Tag innerhalb jedes td-Tags, so wie auf dieses Eingabe-Tag-Element zugreifen?

each_col.getElementByTagName(); funktioniert nicht. Es ist Fehler werfen.

Bitte geben Sie mir einige Lösungen. Bitte gib mir nur Javascript-Lösungen (bitte keine Frage).

+0

'each_col.getElementsByTagName ('input') [0]' oder 'each_col.querySelector ('Input')' –

Antwort

2

Da es in Ihrem td Tags immer nur ein Element ist, können Sie Zugriff nur das innere Element mit

each_col.getElementsByTagName('input')[0]; 

Denken Sie daran, dass getElementsByTagName() ein HtmlCollection zurückgibt, nicht ein einzelnes Element - so müssen Sie die von der angeben Elemente, die Sie anvisieren möchten.

BTW ... Es gibt keine Methode namens getElementByTagName() - das könnte sein, wo die Verwirrung herkommt. Es ist der Plural von Element -> Elements

getElementsByTagName() 
     ^
+1

Vielen Dank @mmm – Abhradip

Verwandte Themen