элементы формы и on('change')
Есть форма, подгружается ajax'ом, в форме есть инпуты text, select и checkbox. Код
$(document).on('change','.class form',function(){ $(this).parents('.parentClass').addClass('changed') }); <div class ="parentClass"> <form class = "form"> <input type = 'text'> <input type = 'text'> <select> <ul> <li>1</li> <li>2</li> </ul> ...... ну в общем такая-вот стандартная структура... наверное... Проблема в том что код работает со всем кроме select'а:-?, но в выборку он попадает Версия JQ 1.7.1 Спасибо за ответы. |
если хотите с элементами формы работать как написали в заголовке и что не соответствует приведенному html (если я не ошибаюсь элементами формы считаются те у кого есть атрибут name), можно сделать такой селектор
$('form.form [name]').on('change', function () { $(this).addClass('changed') }); |
<script src="//code.jquery.com/jquery.min.js"></script> <script> $(document).on('change','.parentClass form',function(){ alert('changed'); return; $(this).parents('.parentClass').addClass('changed') }); </script> <div class ="parentClass"> <form class = "form"> <input type = 'text'> <input type = 'text'> <select> <option>Bla bla</option> <option>Option</option> </select> </form> </div> |
Спасибо, что уделили моей проблеме время.
Но не в выборке дело((Прошу прощения что сразу все не описал. Сейчас набросаю как обвернут селект внутри формы, может в этом проблема. <div class = "section" > <dt id = 'category-label' class ='category-label' > <label for='category-label' class = 'optional'> </dt> <dd id = 'category-element' class ='category-element'> <div class="custom-select done"> <span class="custom-text" style="width: 173px;">11111</span> <div class="select-list custom-scroll" style="display: none;"> <ul> <li class="selected" data-value="1">11111</li> <li class="" data-value="2">22222</li> </ul> </div> <select name="category" id="category"> <option value="1" label="1">11111</option> <option value="2" label="2">22222</option> </select></div> </dd> </div> так вот, это подгружается динамически, внутри формы, проблема не в выборке, потому как даже если обращаюсь к селекту по айди типа $(document).on('change', '#category', function(){ alert('It WORKS')});, то все равно скрипт не работает, с другими инпутами все нормально. |
<div class = "section" > <dt id = 'category-label' class ='category-label' > <label for='category-label' class = 'optional'> </dt> <dd id = 'category-element' class ='category-element'> <div class="custom-select done"> <span class="custom-text" style="width: 173px;">11111</span> <div class="select-list custom-scroll" style="display: none;"> <ul> <li class="selected" data-value="1">11111</li> <li class="" data-value="2">22222</li> </ul> </div> <select name="category" id="category"> <option value="1" label="1">11111</option> <option value="2" label="2">22222</option> </select></div> </dd> </div> <script src="//code.jquery.com/jquery.min.js"></script> <script> $(document).on('change', '#category', function(){ alert('It WORKS')}); </script> Работает же) А уж не самодельный ли выпадающий список у вас используется? Часто настоящий скрывают в силу убогости внешнего вида и невозможности использовать css, и подменяют рукодельным, но стилизуемым. Если так, то он не доработан. Обычно при изменении значения это изменение тут же передают в нативный селект. И/или триггерят на нем событие change. |
Цитата:
|
Цитата:
|
Цитата:
|
Цитата:
Как писал Макконнелл, если вы не знаете как оно работает, то скорее всего оно не работет вовсе)) Наверное это тот случай) Спасибо, еще раз. |
Часовой пояс GMT +3, время: 12:12. |