最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Trying to get value from textbox in column in table - Stack Overflow

programmeradmin3浏览0评论

I dynamically created a table with three columns.

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

I'm trying to write a function that goes through each row and grabs the value in that will be in the textbox.

Javascript:

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

The code brings brings up undefined when I do val(), but if I do html it'll grab the html of the textbox.

How can I get this to bring me the value?

I dynamically created a table with three columns.

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

I'm trying to write a function that goes through each row and grabs the value in that will be in the textbox.

Javascript:

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

The code brings brings up undefined when I do val(), but if I do html it'll grab the html of the textbox.

How can I get this to bring me the value?

Share Improve this question asked Jan 13, 2012 at 16:44 dotNet ZombiedotNet Zombie 1342 silver badges10 bronze badges
Add a ment  | 

7 Answers 7

Reset to default 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>

Here is a fiddle that will get you there:

http://jsfiddle/uS8AK/

Assuming #codeSegmentBody is the name of your table, try this:

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

Example fiddle

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

Try this

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

You are referencing the containing <td> not the input. Try:

$("#codeSegmentBody").children().eq(x).find(":text").val();
var str = "";
$("#codeSegmentBody .third-column input").each(function()
{
  str += this.value;
});
alert(str);

Not easier

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

?

BTW. You don't have any value in this input anyway.

发布评论

评论列表(0)

  1. 暂无评论