Ваша главная проблема здесь, и mgoeppner также предлагает несколько хороших предложений.
$(this).next("input[rel="+$(this).attr("rel")+"]").val($(this).val());
$(this).val()
относится к значению select
, которое является нулевым.Вы должны обратиться к значению выбранной опции.Тогда next()
не будет работать, потому что input
не рядом с select
, между ними есть label
.Вы можете использовать closest()
var value = $(this).find('option:selected').val();
$(this).closest("input[rel="+$(this).attr("rel")+"]").val(value);