I use Bootstrap switch plugin to make my checkboxes looks like switch buttons. I need to check if the checkbox is checked in jQuery. I Googled a lot and I tried some advice and code snippets but without success.
I think the cleanest code I found is
$('#checkbox').attr('checked');
but it still wont work on my website. I have declared jQuery in head. I try to use this snippets on non-bootstrap-switch-checkboxes but still no success.
JS:
<script>
$(function(){
$(".odeslat").click(function(){
$('#pozadavky').slideUp(100);
$('#datumpick').slideDown(300);
var typpaliva = 'nic';
var malpg = 'nic';¨
/***Important condition***/
if ($('#uho').attr('checked')) {
$.cookie("typpaliva", "Diesel");
}
else {
$.cookie("typpaliva", "Benzin");
}
/**********************************************/
$.ajax({
url: 'http://podivej.se/script_cas.php',
data: {druh: '30'},
type: "POST",
success: function(data){
alert($.cookie('typpaliva'));
alert($.cookie('malpg'));
}
});
});
});
</script>
HTML
<input type="checkbox" name="testcheckbox" id="uho"/>
Use
$('#uho').attr('checked')
will return undefined. you can use$('#uho:checkbox:checked').length
property to check if checkbox is checked or not. Try this snippet:Demo
Use
.prop()
instead of.attr()
..prop
returns - 'true' or 'false'. Use this.is(':checked')
returns - 'true' or 'false' -:checked
is a pseudo slector. Or this.attr
returns - 'checked' or 'attribute undefined'.use this code on page load
document.getElementById("#uho").checked = true;
Based on a comment in the accepted answer, here's how I solved this for a Terms and Conditions checkbox in bootstrap:
HTML
Javascript (with jQuery)
Use :
instead of