Все правильно, значит вы устанавливаете обработчик по селектору, который на реальной странице будет обращаться совсем к другому элементу. Если на странице кроме двух списков SELECT будут и другие, то и селекторы $(select:first), $(select:last) также работать не будут.
Кроме этого, $(document).on('change', 'li:nth-child(1) select'..., это делегирование обработки элементу document, и требуется если потомки добавляются динамически на страницу. При этом делегировать обработку желательно не самому далекому предку, а самому ближайшему гарантированно существующему на странице.
|