2016-08-11 6 views
0

私はhtmlテーブルを持っています。各テーブルの行にはいくつかの入力テキスト領域があり、各入力テキスト領域にはjavascriptによって動的に割り当てられた一意のidがあります。次に、私のテーブルの第1列のすべてのIDを配列に入れたいと思います。私はこの問題に直面している。お願い助けて。次のようにJavascriptでアクセスするテーブルのセル値

私のテーブルのHTMLコードは次のとおりです。

<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> 

は今入力テキストボックスのIDを置くための私のjavascriptのコードは次のとおりです。

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

私は、各テーブルのデータにアクセスすることができ、I tdタグを意味しますが、各tdタグの中に<input>タグがあるので、その入力タグ要素にアクセスする方法は?

each_col.getElementByTagName();は機能しません。それは間違いを投げている。

解決策を教えてください。私にはjavascriptソリューション(jqueryは不要)をお願いします。あなたのtdタグには常に一つだけの要素がありますとおり

+0

'each_col.getElementsByTagName( '入力')[0]'や 'each_col.querySelector( '入力')' –

答えて

2

、あなただけgetElementsByTagName()がHtmlCollection、ない単一の要素を返すことに注意してください

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

と内側の要素にアクセスすることができます - あなたは指定する必要がどのターゲットにする要素

BTW ... getElementByTagName()という方法はありません。これは、混乱の原因となる可能性があります。これは、要素の複数のだ - >要素

getElementsByTagName() 
     ^
+1

ありがとうございます非常に多くの@mmm – Abhradip

関連する問題