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
этого элемента выбора.
.prevAll("tr").length + 1
означает выделение всех предыдущих строк и получение длины возвращаемой коллекции. Увеличьте его на единицу, чтобы получить текущий номер строки, потому что мы находимся на всего предыдущих строк + 1 .
Для получения дополнительной информации:
</silliness>