Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.01.2013, 20:30
Новичок на форуме
Отправить личное сообщение для Юрай Посмотреть профиль Найти все сообщения от Юрай
 
Регистрация: 27.01.2013
Сообщений: 9

элементы формы и 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
Спасибо за ответы.
Ответить с цитированием
  #2 (permalink)  
Старый 27.01.2013, 21:13
Аспирант
Отправить личное сообщение для mullih Посмотреть профиль Найти все сообщения от mullih
 
Регистрация: 05.08.2012
Сообщений: 77

если хотите с элементами формы работать как написали в заголовке и что не соответствует приведенному html (если я не ошибаюсь элементами формы считаются те у кого есть атрибут name), можно сделать такой селектор

$('form.form [name]').on('change', function () {
	$(this).addClass('changed')
});
Ответить с цитированием
  #3 (permalink)  
Старый 27.01.2013, 21:24
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<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>
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2013, 01:27
Новичок на форуме
Отправить личное сообщение для Юрай Посмотреть профиль Найти все сообщения от Юрай
 
Регистрация: 27.01.2013
Сообщений: 9

Спасибо, что уделили моей проблеме время.
Но не в выборке дело((Прошу прощения что сразу все не описал. Сейчас набросаю как обвернут селект внутри формы, может в этом проблема.
<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')});
, то все равно скрипт не работает, с другими инпутами все нормально.

Последний раз редактировалось Юрай, 28.01.2013 в 01:37.
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2013, 05:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

<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.
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2013, 08:47
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,572

Сообщение от Юрай
так вот, это подгружается динамически, внутри формы
Т.е. несколько элементов с id="category"...
Ответить с цитированием
  #7 (permalink)  
Старый 28.01.2013, 12:42
Новичок на форуме
Отправить личное сообщение для Юрай Посмотреть профиль Найти все сообщения от Юрай
 
Регистрация: 27.01.2013
Сообщений: 9

Сообщение от ksa Посмотреть сообщение
Т.е. несколько элементов с id="category"...
да, может быть несколько, но я пока только с 1м играюсь.
Ответить с цитированием
  #8 (permalink)  
Старый 28.01.2013, 12:56
Аватар для ksa
ksa ksa на форуме
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 13,572

Сообщение от Юрай
может быть несколько
Тогда забудь про ИД. Его у тебя просто нет...
Ответить с цитированием
  #9 (permalink)  
Старый 28.01.2013, 12:57
Новичок на форуме
Отправить личное сообщение для Юрай Посмотреть профиль Найти все сообщения от Юрай
 
Регистрация: 27.01.2013
Сообщений: 9

Сообщение от danik.js Посмотреть сообщение
<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.
Действительно файерится(( блин...
Как писал Макконнелл, если вы не знаете как оно работает, то скорее всего оно не работет вовсе)) Наверное это тот случай)

Спасибо, еще раз.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отправка формы по onchange инпута SuperZALMAN jQuery 6 09.02.2013 19:32
Сделать элементы формы недоступными Compas Общие вопросы Javascript 4 06.10.2012 21:59
найти все элементы формы wcb-falcon Общие вопросы Javascript 6 17.07.2012 18:22
Добавить элементы формы Katik Элементы интерфейса 1 02.03.2012 10:09
PHP и элементы формы faiq Серверные языки и технологии 2 06.12.2009 07:04