views:

143

answers:

2

Can't work this out...

I've got a .change event handler for multiple select boxes. I need to find the selected value each time. I can't work out how to use .val with $(this).

So here's my code:

$(document).ready(function(){
  $("select.className").change(function() {

    //console.log($(this).val);
    //console.log($("option:selected",this).val);
  })
})

Both of the above return a function, and not the selected value I am looking for.

Any help would be great. Thanks.

+5  A: 

Like everything else in jQuery, val is a function.
You need to call the function, like this: $(this).val().

SLaks
You beat me to it. I'll remove mine :( :D
Bernhard Hofmann
urgh...thank you, it's been one of those days.
+1  A: 

.val is a method rather than a property. You will need to call it with parens:

//console.log($(this).val());
//console.log($("option:selected",this).val());
Neil Aitken