admin 管理员组

文章数量: 1086019

Lets say I have something like this:

<tr>
<td><input type="text" /></td>
<td>Somevalue</td>
<td><intput type="text /></td>
</tr>

I am in the event handler for a keypress in the first text box. I want to find the next td which has a text box in it if it exists using jQuery.

Lets say I have something like this:

<tr>
<td><input type="text" /></td>
<td>Somevalue</td>
<td><intput type="text /></td>
</tr>

I am in the event handler for a keypress in the first text box. I want to find the next td which has a text box in it if it exists using jQuery.

Share Improve this question asked Mar 5, 2009 at 15:53 Ross GoddardRoss Goddard 4,3124 gold badges28 silver badges24 bronze badges
Add a ment  | 

3 Answers 3

Reset to default 6

Something like this should work (assuming this is the input).

var next = $(this).parent().next("td > input[type='text']");

tj111's answer does not work for me. May be that is because of newer version of jQuery. I came up with this:

var next = $(this).parent().nextAll().has("input[type='text']").first();

I don't know what is your selector, but if you need to select all inputs (type text). You can try this.

$(function(){ 

    $(':input').each(function(){
        $(this).keypress(function(){
          $(this).next('input[type=text]').val('I\'m the next');
     }) // end of keypress
    }) // enf of each
}) // End of function

So, do not matter where you put more inputs, you can always take them.

本文标签: javascriptjQueryFind the next element which has a specific childStack Overflow