David
David

Reputation: 23

Using multiple jQuery selectors?

This is my example code:

<input type="text" id="input1" />
<input type="text" id="input2" />

<div id="result"></div>

And in jQuery I want to listen to both inputs change somehow like this:

$('#input1,#input2').change(function(){

var val1 = $('#input1').val();
var val2 = $('#input2').val();

[...some more code...]

});

but I just can't get it to work... Any help? Thanks in advance...

Upvotes: 0

Views: 4037

Answers (3)

BenM
BenM

Reputation: 53198

Your code should function as is.

You could always try the add() function:

$(function() {
    $('#input1').add('#input2').change(function() {
        var val1 = $('#input1').val();
        var val2 = $('#input2').val();

    });
});

If your elements are created dynamically, you'll need to use the on() or live() function:

$(function() {
    $('#input1').add('#input2').on('change', function() {
        var val1 = $('#input1').val();
        var val2 = $('#input2').val();

    });
});

Upvotes: 1

Pez Cuckow
Pez Cuckow

Reputation: 14412

What doesn't work? See http://jsfiddle.net/XYSwz/

Html

<input type="text" id="input1" />
<input type="text" id="input2" />
<div id="result"></div>​

jQuery

$(document).ready(function() {
    $('#input1, #input2').change(function(){
        var val1 = $('#input1').val();
        var val2 = $('#input2').val();
    
        alert(val1);
        alert(val2);
    });​
});

Upvotes: 5

Alessandro Minoccheri
Alessandro Minoccheri

Reputation: 35963

Try this code:

$(document).ready(function() {
  $('#input1,#input2').change(function(){
    var val1 = $('#input1').val();
    var val2 = $('#input2').val();
     alert(val1);//test
     alert(val2);//test
  });
});

JSFIDDLE

Upvotes: 1

Related Questions