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

4 に答える 4

1

.クラスセレクターの内部を見逃しています:

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

フィドル:http : //jsfiddle.net/wUgt5/

于 2012-10-20T09:21:57.000 に答える
1

$(this).find(".foo")複数のアイテムを返します。つまり、そのクラスには3つの要素があります。.クラス名であることを示すための追加に注意してください

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

      });
 });

$(this).find("foo")'foo'タグを持つ要素を見つけようとします例:<foo></foo>

于 2012-10-20T09:22:49.620 に答える
0

should be .find(".foo") to select class rather than tag

于 2012-10-20T09:20:46.910 に答える
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>
于 2012-10-20T11:47:26.567 に答える