3

I have this checkbox:

<input id="IsOutdoors" class="checkbox" type="checkbox" value="1">

And I'm trying to retrieve 1 if it's checked.

I've tried: var IsOutdoors = $('#IsOutdoors').val(); Which always returns 1 no matter what.

I've tried: var IsOutdoors = $("#IsOutdoors option:selected").val(); which returns nothing

I've tried: var IsOutdoors = $('#IsOutdoors').is(':checked'); which returns true/false

Any other simple ways of returning the number? Thanks!

pufAmuf
  • 7,415
  • 14
  • 62
  • 95
  • partially a duplicate of http://stackoverflow.com/questions/7820683/convert-boolean-result-into-integer-in-jquery – furins Dec 17 '12 at 21:47

5 Answers5

4
var IsOutdoors = $('#IsOutdoors').is(':checked') ? 1 : 0;
// ||
var IsOutdoors = document.getElementById('IsOutdoors').checked ? 1 : 0;
Ram
  • 143,282
  • 16
  • 168
  • 197
3
var IsOutdoors = +$('#IsOutdoors').is(':checked')
VeXii
  • 3,079
  • 1
  • 19
  • 25
2

How about using a ternary operator for that? What should IsOutdoors contain if the checkbox isn't checked?

var IsOutdoors = ($('#IsOutdoors').is(':checked')) ? $('#IsOutdoors').val() : false;
BenM
  • 52,573
  • 26
  • 113
  • 168
2

If you want to retrieve the value of checkbox try:

var IsOutdoors = $('#IsOutdoors:checked').val();
Aleksandr M
  • 24,264
  • 12
  • 69
  • 143
1
var $checkbox = $('#IsOutdoors');

if( $checkbox.is(':checked')){
    alert($checkbox.attr('value'));
})
Sushanth --
  • 55,259
  • 9
  • 66
  • 105