HTML radio buttons allowing multiple selections

HtmlForms

Html Problem Overview


In my HTML form I have the below as a set of radio buttons, depending on what radio button you select depends on what the next form <fieldset> is revealed, this all works. The problem is for some reason they are working like a check box and not as a radio button. So you can select all options and not just the one at a time.

Can anyone see where this is going wrong in the code below?

  <fieldset>
    	<legend>Please select one of the following</legend>
        <input type="radio" name="track" id="track" value="track" /><label for="track">Track Submission</label><br />
        <input type="radio" name="event" id="event" value="event"  /><label for="event">Events and Artist booking</label><br />
        <input type="radio" name="message" id="message" value="message" /><label for="message">Message us</label><br />
  </fieldset>

Html Solutions


Solution 1 - Html

They all need to have the same name attribute.

The radio buttons are grouped by the name attribute. Here's an example:

<fieldset>
    <legend>Please select one of the following</legend>
    <input type="radio" name="action" id="track" value="track" /><label for="track">Track Submission</label><br />
    <input type="radio" name="action" id="event" value="event"  /><label for="event">Events and Artist booking</label><br />
    <input type="radio" name="action" id="message" value="message" /><label for="message">Message us</label><br />
</fieldset>

Solution 2 - Html

I've done it this way in the past, JsFiddle:

CSS:

.radio-option {
	cursor: pointer;
	height: 23px;
	width: 23px;
	background: url(../images/checkbox2.png) no-repeat 0px 0px;
}

.radio-option.click {
	background: url(../images/checkbox1.png) no-repeat 0px 0px;
}

HTML:

<li><div class="radio-option"></div></li>
<li><div class="radio-option"></div></li>
<li><div class="radio-option"></div></li>
<li><div class="radio-option"></div></li>
<li><div class="radio-option"></div></li>

jQuery:

<script>
	$(document).ready(function() {
		$('.radio-option').click(function () {
			$(this).not(this).removeClass('click');
			$(this).toggleClass("click");
		});
	});
</script>

Solution 3 - Html

The name of the inputs must be the same to belong to the same group. Then the others will be automatically deselected when one is clicked.

Solution 4 - Html

Try this way of formation, it is rather fancy ...

Have a look at this jsfiddle

Button-Radio

The idea is to choose a the radio as a button instead of the normal circle image.

Solution 5 - Html

All radio buttons must have the same name attribute added.

Solution 6 - Html

To the radio buttons works correctly, you must to have grouped by his name. (Ex. name="type")

 <fieldset>
    <legend>Please select one of the following</legend>
    <input type="radio" name="type" id="track" value="track" /><label for="track">Track Submission</label><br />
    <input type="radio" name="type" id="event" value="event"  /><label for="event">Events and Artist booking</label><br />
    <input type="radio" name="type" id="message" value="message" /><label for="message">Message us</label><br />

It will returns the value of the radio button checked (Ex. track | event | message)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionSamesJeabrookView Question on Stackoverflow
Solution 1 - HtmllukasgeiterView Answer on Stackoverflow
Solution 2 - HtmlTodd WilliamsView Answer on Stackoverflow
Solution 3 - HtmlMarijnS95View Answer on Stackoverflow
Solution 4 - HtmlOmaralajlanView Answer on Stackoverflow
Solution 5 - Htmluser3040525View Answer on Stackoverflow
Solution 6 - HtmlJMPG DeveloperView Answer on Stackoverflow