Подтвердить что ты не робот

JQuery - поиск номера строки текущего элемента select в его обработчике изменений

У меня есть таблица. В этой таблице есть элемент select. Как я могу найти, в какой строке таблицы находится элемент select, из обработчика события select:

$('#selectElemID').live('change', function(){...});

Спасибо

4b9b3361

Ответ 1

EDIT (два года спустя): Пожалуйста, не делайте этого так, как я ранее описывал, это общий отход, поскольку строки таблицы уже имеют свойство rowIndex, поэтому просто ничего не нужно вычислять:

$('#selectElemID').live("change", function (){
    alert($(this).closest("tr")[0].rowIndex);
});

Демо.

<silliness>

Это должно сделать это, если вы хотите номер строки текущего элемента select (что я понимаю из вопроса):

$('#selectElemID').live('change', function(){
    alert($(this).closest("tr").prevAll("tr").length + 1);
});

Объяснить:

$(this).closest("tr")

означает выбор ближайшего родителя tr этого элемента select.

.prevAll("tr").length + 1

означает выбор всех предыдущих строк и получение длины возвращаемой коллекции. Увеличьте его на единицу, чтобы получить номер текущей строки, потому что мы находимся в итоговых предыдущих строк + 1.

Для получения дополнительной информации:

</silliness>

Ответ 2

и

$('#selectElemID').live('change', function(){
    alert($(this).closest("tr")[0].rowIndex);
});