Sredny M Casanova
Sredny M Casanova

Reputation: 5053

onchange function to array of input text JQuery

Hello I have an array of input text they all have the same class, so I want to put an event OnChange with jquery to everyone of them.

My HTML code is:

 <input type="text" class="form-control placementTest" data-mask=''>

and my Javascript is:

$('.placementTest').each(function() {
            $(this).on('change',function (ev) {
                alert('done it');
            });
        });

but it's not working. So, what is wrong?

Upvotes: 2

Views: 2953

Answers (3)

Cory
Cory

Reputation: 1283

No Need for $('.placementTest').each . Also, with an input, you want the keyup event Just need

   $('.placementTest').keyup(function() {
      //do stuff

   })

or fire when the user leaves the input:

 $('.placementTest').blur(function() {
 //do stuff

 })

Fiddle http://jsfiddle.net/qpu0Lsth/2/

Upvotes: 2

user5039044
user5039044

Reputation:

your event must trigger after editing ( same on blur ).

if you need to trigger when user input something try to use about onkey "keydown" "keypress" "keyup" etc. . Example below !

$('.placementTest').each(function() {
            $(this).on('keypress',function (ev) {
                alert('done it');
            });
        });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
input 1 <input type="text" class="form-control placementTest" data-mask=''>
input 2 <input type="text" class="form-control placementTest" data-mask=''>
input 3 <input type="text" class="form-control placementTest" data-mask=''>

P.S. it's work fine !

Upvotes: 1

dsoumgit
dsoumgit

Reputation: 63

Looks like you have two classes in the markup. Try to use one class

Upvotes: 0

Related Questions