Делегирование
Пытаюсь создать событие при клике на созданном option с помощью вывода ajax.
Пример есть два select <select id="select_one"> <option selected="selected">Выберите раздел</option> <option id="82" class="option_id_one">Мягкая мебель</option> <option id="83" class="option_id_one">Гостиная</option> <option id="96" class="option_id_one">Кухни</option> <option id="104" class="option_id_one">Спальня</option> </select> <select id='select_two'> </select> во второй селект я вывожу option из базы допустим после того как мы выбрали раздел второй селект получился : <select id="select_two"> <option id="156" class="option_id_two">Табуреты</option> <option id="97" class="option_id_two">Кухонные гарнитуры</option> <option id="98" class="option_id_two">Стулья</option> <option id="99" class="option_id_two">Столы</option> <option id="101" class="option_id_two">Кухонные уголки</option> <option id="179" class="option_id_two">Шкафы</option> </select> далее мне надо повесить событие клика по option с классом option_id_two пытаюсь сделать следущим образом: $('#select_two').on('click', '.option_id_two', function() { alert('Привет'); }); но он мне alert не выводит (сам вывод option во второй select работает корректно, но делегирование мне не поддаеться) Помогите парни пожалуйста.:help: |
если надо то вот вывод во второй селект
$('.option_id_one').click(function (){ id = this.id; $.post("/netcat/modules/default/tegs-vivod-podrazd.php", { id:id, }, function(data) { document.getElementById('select_two').innerHTML = data; } ); }); |
$('#select_two').change(function() { alert(this.value); }); |
вооооуууу спасибо большое все вышло как надо:dance:
|
блин нет все равно не правильно. мне нужно событие именно на нажатие
элемента с классом option_id_two я так понял что это возможно только через делегирование но у меня не получаеться |
Щелчок по селекту не имеет смысла.
Чтобы гарантировано был change, нужен item по умолчанию который не имеет значения. Например "----", или там "Выберите табуретку". |
Ну да, как в первом селекте у вас сделано - так и продолжайте добавлять дефолтное значение на которое нельзя получить данные, ну или придут те же самые.
Да, кстати, а что будет внешне с селектом, если ему программно засандалить selectedIndex=-1? Я как-то делал, уже забыл. Но тогда, вроде, не нужен пустой item. Любой выбор дает дает change, поскольку selectedIndex начинается с 0. |
хоршо а если у меня появилось несколько дивов например
<div class='otpravka'> <span>1 значение</span> <div class='otpracit'>Отправить</div> </div> <div class='otpravka'> <span>2 значение</span> <div class='otpracit'>Отправить</div> </div> <div class='otpravka'> <span>3 значение</span> <div class='otpracit'>Отправить</div> </div> мне нужно повесить событие клика на кнопку отправить |
Все правильно, вот что будет http://learn.javascript.ru/play/uTrs1b
селект будет kinda empty, но зато ченч сработает гарантировано. Кстати, а кто знает как сделать чтобы код выполнялся в теме? Я все пункты тут проверил в навигации - нет ничего похожего. |
Цитата:
|
Часовой пояс GMT +3, время: 10:25. |