2015-06-16 2 views
-2

Мне нужно вызвать функцию при изменении текстового поля ввода с определенным классом CSS.Событие JQuery при изменении ввода с определенным классом

<form class="form-horizontal" role="form" id="infoClient"> 
           <div class="form-group"> 
            <label for="Input" class="col-md-2 col-sm-2 control-label greenIfNotEmpty">Prénom</label> 
            <div class="col-md-4 col-sm-4"> 
             <div class="input-group"> 
              <input type="text" class="form-control" id="Input" placeholder=""> 
              <span class="input-group-addon"> 
               <i class="glyphicon glyphicon-pencil"></i> 
              </span> 
             </div> 
            </div> 
            <label for="disabledTextInput" class="col-md-2 col-sm-2 control-label greenIfNotEmpty">Nom famille</label> 
            <div class="col-md-4 col-sm-4"> 
             <div class="input-group"> 
              <input type="text" id="disabledTextInput2" class="form-control" placeholder=""> 
              <span class="input-group-addon"> 
               <i class="glyphicon glyphicon-pencil"></i> 
              </span> 
             </div> 
            </div> 
           </div> 



    $('input[type='text']').change(function() { ... }); 

Это работает для каждого поля ввода,

$('input[type='text'] .greenIfNotEmpty').change(function() { ... }); 

не работает.

Может ли кто-нибудь помочь мне в этом?

+0

Пространство в CSS и селекторах jQuery означает «потомок», который исключает «я». Вы выбираете элемент на входе, который имеет этот класс, который не будет работать. –

ответ

0

Я чувствую себя тупой, Я приложил класс к ярлыку вместо ввода. Большое спасибо всем.

+0

Теперь вы поняли это. Добро пожаловать. –

+0

Вы должны принять один из ответов, даже если это тот, нажав на зеленый галочку. Это означает, что проблема решена в Stack Overflow (и вы получаете очки) –

0

Попробуйте удалить пространство между входом и имя класса, как так:

$('input[type='text'].cssClass').change(function() { ... }); 
+0

Не работает, извините ... –

+0

Действительно ли это входной селектор? я просто скопировал из вашего кода. И если вход имеет имя класса, возможно, вы можете просто использовать что-то вроде '$ ('input.className')' –

+0

$ ('input.className') тоже не работает ... У меня есть несколько входных данных, которые как можно скорее они заполнены, я хочу сделать их зелеными с классом .success .... те вход имеют css класс greenIfNotEmpty ... –

1

Попробуйте что-то вроде этого, демо в FIDDLE

JS

$('input:text.red').on('keyup', function() { 
    alert('hello red') 
}); 

HTML

<input type='text' class='red'/><br/> 
<input type='text' class='yellow'/> 

CSS

.red{ 
    background-color:red 
} 

.yellow { 
    background-color:yellow 
} 
+0

Очень хорошо работает на jsFiddle, но не на моей странице ... thx –

+0

Добавлял ли вы jquery lib еще? что-то вроде этого user86745458