2012-01-13 15 views
2

私は動的に3つのカラムを持つテーブルを作成しました。テーブルのカラムのテキストボックスから値を取得しようとしています

<tr> 
    <td>1</td> 
    <td>SegName</td> 
    <td><input type='text' /></td> 
</tr> 

私は、各行を通過し、テキストボックス内の値を取得する関数を作成しようとしています。

Javascriptを:

$("#codeSegmentBody").children().eq(x).children().eq(2).val(); 

コードは、私はヴァル()を行うときに、未定義が表示されますが、私はそれがテキストボックスのHTMLをつかむだろうhtmlのない場合もたらします。

どのように私は値を持ってこれを得ることができますか?

答えて

3
<table id="test"> 
    <tr> 
     <td> 
      <input type="text" value="123"> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <input type="text" value="abc"> 
     </td> 
    </tr> 
</table> 

<script type="text/javascript"> 
$(document).ready(function(){ 

    $("#test").find(":input[type=text]").each(function(){ 

     alert($(this).val()); 

    }); 

}); 
</script> 

があなたを取得しますフィドルです:

http://jsfiddle.net/uS8AK/

0
var str = ""; 
$("#codeSegmentBody .third-column input").each(function() 
{ 
    str += this.value; 
}); 
alert(str); 
0

ない

$("table tr td input").val(); 

より簡単?

BTW。とにかくこの入力には価値がありません。 #codeSegmentBodyを想定し

+0

複数の行がある場合はどうなりますか? ;) –

+1

BTWユーザーが何かを入力する可能性があります;) – ComFreek

1

は、あなたのテーブルの名前で、この試してみてください。ここでは

$("#codeSegmentBody td input").each(function() { 
    var inputValue = $(this).val(); 
    alert(inputValue); 
}); 

Example fiddle

1
$("#codeSegmentBody tr input[type='text']").each(function(){ 
    alert($(this).val()); 
}) 
1

はあなたが含ま<td>ない入力を参照しているこの

$("#codeSegmentBody tr").each(function() { 
    alert($(this).find("input").val()); 
}); 
1

を試してみてください。試してみてください:

$("#codeSegmentBody").children().eq(x).find(":text").val(); 
関連する問題