Jquery:在点击表行上,找到包含的输入文本的值?

时间:2012-10-20 09:17:17

标签: jquery

 <table class="container">
 <tr>
   <td><input type="text" class="foo"></td>
 </tr>
 <tr>
   <td><input type="text" class="foo"></td>
 </tr>
 <tr>
   <td><input type="text" class="foo"></td>
 </tr>
 </table>


 <script>
 $(".container tr").click(function(){
     alert($(this).find("foo").val());
 });
 </script>

它应该做什么:
当我点击一个表格行时,它会在这个元素中找到输入并提醒它的值。

谢谢!

4 个答案:

答案 0 :(得分:1)

您错过了班级选择器中的.

alert($(this).find(".foo").val()); 

FIDDLE: http://jsfiddle.net/wUgt5/

答案 1 :(得分:1)

$(this).find(".foo")将返回多个项目,即该类有3个元素。请注意添加.以表明它是类名

$(".container tr").click(function(){
     $(this).find(".foo").each(function(){
          alert($(this).val());

      });
 });

$(this).find("foo")会尝试查找带有'foo'标记的元素,例如<foo></foo>

答案 2 :(得分:0)

应该是.find(".foo")来选择类而不是标记

答案 3 :(得分:0)

请进行以下更改,您将100%获得解决方案。

Change the jquery as below,

function getvalue(elementid) {

var elementid = "#" + elementid;
alert($(elementid).val());
}

and change your HTML as below,`enter code here`

as shown here you need  to call jquery function on click event of each textbox and     also need to give an id to each text box.
<table class="container">
<tr>
<td>
<input type="text" id="txtval1" class="foo" onclick="javascript:test(this.id);"></td>
</tr>
<tr>
<td>
<input type="text" id="txtval2" class="foo" onclick="javascript:test(this.id);"></td>
</tr>
<tr>
<td>
<input type="text" id="txtval3" class="foo" onclick="javascript:test(this.id);"></td>
</tr>
</table>