#jquery #select #live #onchange
#jquery #выберите #ЖИВЫЕ КОНЦЕРТЫ #при изменении
Вопрос:
У меня дилемма — создал таблицу строк, которые содержат текстовое поле, выпадающее меню и зависимый 3-й файл / выбор.
Также есть кнопка «Добавить новый», которая добавляет новую строку со значениями по умолчанию, размещенными внутри этих 3 элементов формы.
Вот скрипт, который изменяет элемент третьего столбца в зависимости от значения, выбранного в предыдущем меню выбора:
if ($('.navigation_type').length > 0) {
$('.navigation_type').live('change', function() {
var next_cell = $(this).parent('td').next();
var identity = $(this).attr('id').split('_');
var type = $(this).val();
var url = '/pages/c/navigation/a/fetch/id/' identity[1] '/type/' type;
$.getJSON(url, function(data) {
if (!data.error) {
next_cell.html(data.content);
}
});
});
}
И скрипт «Добавить новую кнопку» выглядит следующим образом:
if ($('.add_navigation').length > 0) {
$('.add_navigation').click(function() {
var master = $(this).attr('id').split('_');
master = master[1];
$.getJSON('/pages/c/navigation/a/newrow/master/' master, function(data) {
$('#section_' master).after(data.row);
});
return false;
});
}
Кнопка ‘.add_navigation’ работает нормально до того момента, пока я не изменю значение в выпадающем списке — это ничего не делает, то есть третий столбец не меняется в зависимости от выбранного значения.
Я использовал метод live (‘изменить’), поскольку думал, что это должно решить проблему, но, очевидно, я делаю что-то неправильно — есть идеи, что это?
Комментарии:
1. Я думаю, что вам не нужен оператор if вокруг вашего обработчика событий.
2. Боюсь, что без инструкции ‘if’ это тоже не сработает
Ответ №1:
Хорошо — проблема решена — это был другой код, который вызывал проблему! Приведенный выше сценарий работает нормально.