Вероятно, проблема связана с выбором "родительской формы".
Функция .parent()
возвращает только непосредственного родителя, который не позволит вам получить элемент формы, если ваш select.mod
вложен в <p>
или что-то еще.
Функция .parents()
возвращает all родителей элемента; но первым может быть не тег формы. Я бы попробовал это:
$("select.mod").change(function(){
$(this).parents('form') // For each element, pick the ancestor that's a form tag.
.find(':input') // Find all the input elements under those.
.each(function(i) {
alert(this.name + " = " + i);
});
});
Это все равно может не помочь вам, если у вас есть элементы формы, вложенные друг в друга, но в этом случае у вас, вероятно, больше проблем, чем в селекторе jQuery ...