.attr('checked','checked') does not work
$('.checkbox').attr('checked',true);
will not work with from jQuery 1.6.
Instead use
$('.checkbox').prop('checked',true);
$('.checkbox').prop('checked',false);
Full explanation / examples and demo can be found in the jQuery API Documentation https://api.jquery.com/attr/
With jQuery, never use inline onclick
javascript. Keep it unobtrusive. Do this instead, and remove the onclick
completely.
Also, note the use of the :checked
pseudo selector in the last line. The reason for this is because once the page is loaded, the html and the actual state of the form element can be different. Open a web inspector and you can click on the other radio button and the HTML will still show the first one is checked. The :checked
selector instead filters elements that are actually checked, regardless of what the html started as.
$('button').click(function() {
alert($('input[name="myname"][value="b"]').length);
$('input[name="myname"][value="b"]').attr('checked','checked');
$('#b').attr('checked',true);
alert($('input[name="myname"]:checked').val());
});
http://jsfiddle.net/uL545/1/
$('.checkbox').prop('checked',true);
$('.checkbox').prop('checked',false);
... works perfectly with jquery1.9.1