Jquery, How to unselect all radio button in radio group
Anyone know how to unselect all radio buttons in a radio group ?
HTML:
<div id="emptimfields">
<label id="lbl_emptim">How regulary do you employ people to help cultivate your land? </label><br/><br/>
<fieldset data-role="controlgroup" data-type="vertical" id="emptim">
<input name="emptim" id="radio1" value="fromtimetotime" type="radio" openmrs-valuecoded="" />
<label for="radio1"> From time to time </label>
<input name="emptim" id="radio2" value="allthetime" type="radio" openmrs-valuecoded="" />
<label for="radio2">All the time</label>
<input name="emptim" id="radio3" value="dontknow" type="radio" openmrs-valuecoded="" />
<label for="radio3"> Don't know </label>
</fieldset>
</div>
JQuery side:
$('input:radio[name=emptim]:checked').prop('checked', false); // doesn't work
I'm certainly missing something basic, but I can't figure out what is the problem.
First, I check Yes and then check a value of the second radio group :
Then, I check No to hide the second radio group:
Then, If I click on next, I get the value of what I've checked (but I checked no previously, so here I don't want an alert, I want the radioButton "From time to time" to be unchecked) :
Finally, if I come back, nothing happend :
Solution 1:
You can give them a classname and try:
$('.classname').prop('checked', false);
When you use an older version of jQuery than 1.6 it has to be:
$('<selector>').attr('checked', false);
EDIT :
Call the method .checkboxradio("refresh");
has also worked for me.
Solution 2:
$('input:radio[name=indicatorType]').each(function () { $(this).prop('checked', false); });
Alternative solution for making 'unchecked' whole radio buttons of a radio group('indicatorType' for above code sample).
Solution 3:
This should do it. Notice the refresh option at the end to force the controlgroup to be updated.
An additional benefit of this method is that it targets a specific radio group by name, rather than all radio controls on a page.
$('input:radio[name=emptim]:checked').prop('checked', false).checkboxradio("refresh");