списки в динамических таблицах
Ранее у меня были вопросы по ajax https://javascript.ru/forum/ajax/715...taet-post.html
Так как этот вопрос решился, возникли новые. У меня в динамической таблице есть 2 списка. При клике в таблицу добавляются новые поля , как и эти два списка. Если в первом поле таблицы у элементов id = "test1" То в следующем поле id = "test2" Далее id = "test3", и так далее. Изменяется только ИД, класс тот же. Когда добавил ajax запрос, всё работает нормально, но вот когда добавляю новые поля в таблицу, то у списков там "стандартное значение" И когда я выбираю нужное значение в новосозданном списке, то значения меняются и в других, связанных с этим списками. Что нужно? Что бы у новосозданных списках значение было такое же, как у предыдущего списка (если у списка с id = "spisok1", то у списка с id = "spisok2"было такое же значение) Это я попытался сделать так (через общий класс) $(function () { var select = $('select.fertig'); select.on('change', function () { select.not(this).val(this.value); }); }) Но оно, почему то, не работает. И было бы хорошо, если б у этих списков был б только этот выбранный вариант, а других бы не было видно, но я не знаю, как это реализовать:-? Всё, что нужно, что бы у всех списков определенного класса значение было такое же, как у первого списка этого же класса |
maksqwerty,
$(function () { var table = $('table'); table.on('change', 'select.fertig', function () { $('select.fertig').not(this).val(this.value); }); }) |
Работает, и это уже хорошо, но работает не совсем так, как нужно
оно меняет значение, только когда я уже добавил новые поля, а нужно, что бы как только я добавил поле, а значение списка уже было изменено на нужное (тут наверное нужно присвоить event пока не существующим элементам, но как это сделать, я не знаю) А ещё, вопрос: почему нужно прописывать table, разве без этого скрипт не видит нужных элементов? |
maksqwerty,
скрипты не телепаты, они не знают что вы захотите добавить, но есть делегирование родитель следит за изменениями внутри себя. строка 3 это "делегирование" в jquery. Цитата:
$('select.fertig:first').trigger('change') |
у меня значения селекта приходят с бд
как бы это сказать, мне нужно, что бы скрипт смотрел, какое значение у первого элемента, и менял значение списков, которые будут создаваться, на нужное, и при этом удалял другие варианты. Спасибо за делегирование, буду вкуривать. Эта строка, что вы написали, это пример делегации? |
maksqwerty,
ответ написан ранее :) |
Окей, куда тогда мне втыкнуть строчку с делегацией в выше написаный вами скрипт, шобыработало?:)
|
Цитата:
|
Ну как сделать этот скрипт с делегированием,
Цитата:
Цитата:
Цитата:
|
maksqwerty,
где код создания нового селекта? |
Часовой пояс GMT +3, время: 03:19. |