Я пытаюсь получить идентификатор следующего поля ввода, когда пользователь покидает поле ввода:

$("input").blur(function(){ var theid = $(this).attr('id'); var thefield = $(this).nextAll('input').first().attr('id'); alert(thefield); }); 

В настоящее время возвращается неопределенное. HTML-код:

 {amp}lt;table{amp}gt;{amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;Number{amp}lt;/td{amp}gt;{amp}lt;td{amp}gt;Name{amp}lt;/td{amp}gt; {amp}lt;tr{amp}gt;{amp}lt;td{amp}gt;1 {amp}lt;input type='text' name='deltagernummer[]' value='' size='6' id='r0' tabindex='1' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;{amp}lt;input type='text' name='deltagernavn[]' value='' id='rr0' tabindex='-1' /{amp}gt;{amp}lt;/td{amp}gt;{amp}lt;/tr{amp}gt; {amp}lt;tr{amp}gt;{amp}lt;td{amp}gt;2 {amp}lt;input type='text' name='deltagernummer[]' value='' size='6' id='r1' tabindex='2' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;{amp}lt;input type='text' name='deltagernavn[]' value='' id='rr1' tabindex='-1' /{amp}gt;{amp}lt;/td{amp}gt;{amp}lt;/tr{amp}gt; {amp}lt;/table{amp}gt; 

В чем проблема?

 $("input").blur(function() { var theid = $(this).attr('id'); var thefield = $(this).nextAll('input').first().attr('id'); alert(thefield); }); 
 {amp}lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;table{amp}gt; {amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;Number{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;Name{amp}lt;/td{amp}gt; {amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;1 {amp}lt;input type='text' name='deltagernummer[]' value='' size='6' id='r0' tabindex='1' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;{amp}lt;input type='text' name='deltagernavn[]' value='' id='rr0' tabindex='-1' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;/tr{amp}gt; {amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;2 {amp}lt;input type='text' name='deltagernummer[]' value='' size='6' id='r1' tabindex='2' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;{amp}lt;input type='text' name='deltagernavn[]' value='' id='rr1' tabindex='-1' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;/tr{amp}gt; {amp}lt;/table{amp}gt; 

Nextall() проходит через братьев и сестер, ваши входные данные не имеют братьев и сестер.

 $("input").blur(function(){ var theid = $(this).attr('id'); var thefield = $(this).closest('tr').next().find('input').attr('id'); alert(thefield); }); 
 $("input").blur(function() { var theid = $(this).attr('id'); var thefield = $(this).closest('tr').next().find('input').attr('id'); alert(thefield); }); 
 {amp}lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;table{amp}gt; {amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;Number{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;Name{amp}lt;/td{amp}gt; {amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;1 {amp}lt;input type='text' name='deltagernummer[]' value='' size='6' id='r0' tabindex='1' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;{amp}lt;input type='text' name='deltagernavn[]' value='' id='rr0' tabindex='-1' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;/tr{amp}gt; {amp}lt;tr{amp}gt; {amp}lt;td{amp}gt;2 {amp}lt;input type='text' name='deltagernummer[]' value='' size='6' id='r1' tabindex='2' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;td{amp}gt;{amp}lt;input type='text' name='deltagernavn[]' value='' id='rr1' tabindex='-1' /{amp}gt;{amp}lt;/td{amp}gt; {amp}lt;/tr{amp}gt; {amp}lt;/table{amp}gt; 

.nextAll() сканирует братьев и сестер. Хотя ваши {amp}lt;input{amp}gt; находятся на одном уровне, они не братья и сестры . Чтобы «визуализировать», вот псевдо-HTML:

Ребенок и брат ребенка:

 {amp}lt;parent{amp}gt; {amp}lt;child{amp}gt; {amp}lt;childs-sibling{amp}gt; {amp}lt;/parent{amp}gt; 

Ваш случай:

 {amp}lt;parent{amp}gt; {amp}lt;descendant{amp}gt; {amp}lt;input{amp}gt; {amp}lt;/descendant{amp}gt; {amp}lt;descendant-sibling{amp}gt; {amp}lt;totally-unrelated-to-input{amp}gt; {amp}lt;/descendant-sibling{amp}gt; {amp}lt;/parent{amp}gt; 

Что вы можете сделать, так это подняться на уровень {amp}lt;tr{amp}gt; , последовательно расположив ряды, получить все входные данные, получить первый и затем получить идентификатор.

 var id = $(this) .closest('tr') // Get to the row level .nextAll('tr') // Get all succeeding rows .find('td {amp}gt; input') // Find the inputs. You may adjust the selector. .eq(0) // Get the first input .attr('id'); // Get its id, if any