Ваша скрипка, но она работает: Нажмите здесь
У вас возникла проблема с вашим js - Изменить:
$(".clone_dept").live("change", function() { //<-- not really sure why live isn't working
if ($(this).val() == 'Dept #1') {$(".clone_attendees").val(dept_1);}
if ($(this).val() == 'Dept #2') {$(".clone_attendees").val(dept_1);}
if ($(this).val() == 'Dept #3') {$(".clone_attendees").val(dept_1);}
if ($(this).val() == 'Dept #4') {$(".clone_attendees").val(dept_1);}
if ($(this).val() == 'Dept #5') {$(".clone_attendees").val(dept_1);}
}).change(); // trigger once if needed
}); // <-- This shouldnt be here
до:
$(".clone_dept").change(function() {
if ($(this).val() == 'Dept #1') {$(".clone_attendees").val(dept_1);}
if ($(this).val() == 'Dept #2') {$(".clone_attendees").val(dept_2);}
if ($(this).val() == 'Dept #3') {$(".clone_attendees").val(dept_3);}
if ($(this).val() == 'Dept #4') {$(".clone_attendees").val(dept_4);}
if ($(this).val() == 'Dept #5') {$(".clone_attendees").val(dept_5);}
}).change(); // trigger once if needed
Хотя на самом деле это не касается того, как выбрать ближайший вход. В случае вашей скрипки, это единственный элемент, который использует этот класс. Если эта структура строк будет скопирована и использована повторно, используйте ее для выбора правильного ввода.
if($(this).val() == 'Dept #1') {$(this).parent().next("td").children(".clone_attendees").val(dept_1);}
Edit:
Еще лучше, используйте массив для назначения правильного значения, вместо того, чтобы иметь 5 строк if if.
var dept = ["Person #1, Person #2, Person #3, Person #4, Person #5","Person #6, Person #7, Person #8, Person #9, Person #10","Finance Persons","IT Persons","Marketing Persons"];
добавить значения в теги параметров
<option value=0>Dept #1</option>
, а затем
$(".clone_dept").change(function() {
if($(this).val() == 'Dept #1') {
$(this).parent()
.next("td")
.children(".clone_attendees")
.val(dept[$(this).val()])
}
}).change(); // trigger once if needed