Reputation: 299
I want to display one radio button group at a time based on a drop down selection. Below is my html showing several different radio button groups.
<div class="radioshow" id="whatlist">
<div class="tooltip">
<label class="radio">
<input type="radio" name="media" value="interview" />
<span>Wx Interview</span>
</label>
</div>
<div class="tooltip">
<label class="radio">
<input type="radio" name="media" value="genq" />
<span>General Q</span>
</label>
</div>
<div class="tooltip">
<label class="radio">
<input type="radio" name="embrief" value="wxbrief" />
<span>Wx Brief</span>
</label>
</div>
<div class="tooltip">
<label class="radio">
<input type="radio" name="embrief" value="eventsppt" />
<span>Event Sppt</span>
</label>
</div>
<div class="tooltip">
<label class="radio">
<input type="radio" name="nws" value="coord" />
<span>Coordination</span>
</label>
</div>
<div class="tooltip">
<label class="radio">
<input type="radio" name="nws" value="backup" />
<span>Backup Sppt</span>
</label>
</div>
</div>
Here is my jquery code. It seems like this should work, but no.
<script type="text/javascript">
$('.tooltip').addClass('dontshow');
$('#select1').change(function () {
var groupname = $(this).val();
$('.tooltip input:radio[name=' + groupname + ']').removeClass('dontshow');
});
</script>
Upvotes: 0
Views: 32
Reputation: 299
I had to add a second $('.tooltip').addClass('dontshow');
to the .change function so that the radio buttons wouldn't "pile up" on successive drop down selections...
$('.tooltip').addClass('dontshow');
$('#select1').change(function () {
$('.tooltip').addClass('dontshow');
var groupname = $(this).val();
$('input:radio[name=' + groupname + ']').closest('.tooltip').removeClass('dontshow');
});
Upvotes: 0
Reputation: 20740
dontshow
class is added to .tooltip
. But you are removing it from radio button. Try like following.
$('.tooltip').addClass('dontshow');
$('#select1').change(function () {
var groupname = $(this).val();
//following line is changed
$('input:radio[name=' + groupname + ']').closest('.tooltip').removeClass('dontshow');
});
Upvotes: 1