У меня есть избранное поле, которое динамично заполняется с вызовом ajax, который просто возвращает все опции выбора HTML. Вот часть PHP, что просто эхо избранные теги и динамично заполняет каждую опцию/значение.
echo "";
}
После того, как этот список заполняется, я пытаюсь назвать событие изменения, так, чтобы каждый раз, когда опция по умолчанию изменяется в СПИСКЕ ВЫБОРКИ или в текстовом поле с тем же классом, это отключило набор переключателя в другой части формы. (Вы видите начальный вопрос, я попросил получать эту часть функциональности, работающей здесь),
$('.affector').change(function(){
$(this).parents('tr').find('input:radio').attr('disabled', false);
});
По некоторым причинам, даже при том, что я даю избранному полю надлежащее имя класса (исполнительный элемент), когда я выбираю различные варианты в поле, другие части формы не отключают. Поле статического текста с тем же классом хорошо работает. Я озадачен.
Какие-либо идеи?
Просто прокомментировал свой последний вопрос ... вот что я сказал:
Используйте jQuery Bind
function addSelectChange() {
$('select').bind('change', function() {
// yada yada
});
}
Вызов AddSelectChange в вашей функции успеха AJAX. Это должно сделать трюк. Посмотрите на событие jQuery Live Tovie (для того, когда вы хотите установить события для всех текущих и будущих элементов DOM в более позднем проекте или что-то). К сожалению, событие изменений и несколько других еще не поддерживаются в Live. Привязка - это следующая лучшая вещь
Для элементов, которые динамически вставляются в DOM, их события должны быть связаны с
$('.selector').bind('change',function() { doWork() });
Это потому, что когда вы запускаете $ (function () {});
и привязывайте события с помощью $. click
или $. change
и т. д., вы привязываете события к элементам , уже существующим в DOM . Любые манипуляции, которые вы делаете после этого, не зависят от того, что происходит в вызове $ (function () {});
. $. Bind
указывает вашей странице искать будущие элементы в вашем селекторе, а также текущие.
попробуйте .live: http://docs.jquery.com/events/Live
из документов: Связывает обработчик к событию (например, щелчок) для всех текущих и будущих - сопоставленных элементов. Может также связывать пользовательские события.