jQuery: Handle Dropdown (select), Checkboxes and Radio selections
Posted by Michael Gaigg
Almost daily I work with lists, be it dropdown, checkbox or radio selections. I need to select values, submit selections, hide/show containers depending on the selection etc.
I tend to forget all these cool jQuery notations that make every programmers life easier. How nice would it be to have a little cheat sheet? So I decided to summarize my findings (and share them with you).
Obviously jQuery is powerful and gives you a multitude of possibilities so this list is neither exhaustive nor covers all possible application scenarios. Mix, match, combine and extend the samples as you wish and feel free to post your additional solutions in the comments section.
See the test page.
Dropdown
I'm using the following sample list:
<select id="ddlCategories"> <option>- Select a category -</option> <option value="books" selected="selected">Books</option> <option value="videos">Videos</option> <option value="dvds">DVDs</option> </select>
Get value of selected item
Pure and simple, despite what you might read in other tutorials:
alert("Selected value: " + $("#ddlCategories").val());
Change text of a particular item
Let's target item with value 'videos':
$("#ddlCategories option[value='videos']").text("Videos and tapes");
Change color of a particular item
This could be useful to show that the category is currently unavailable or a certain item is out of stock.
$("#ddlCategories option[value='videos']").css("color", "#CCC");
Get number of options
Don't forget to subtract options that don't count, e.g. the empty "- Select a category -" option.
alert("Number of options: " + ($("#ddlCategories option").length - 1));
Set a particular option
Set the option 'videos' to be the selected item.
$("#ddlCategories option[value='videos']").attr("selected", "selected");
Checkboxes
Our sample checkbox list:
<div id="chkCategoriesContainer"> <input type="checkbox" name="chkCategories" value="none" checked="checked" />None<br/> <input type="checkbox" name="chkCategories" value="books" />Books<br/> <input type="checkbox" name="chkCategories" value="videos" />Videos<br/> <input type="checkbox" name="chkCategories" value="dvds" />DVDs<br/> </div>
Check all items in the checkbox list
This could be invoked e.g. through a link named 'Check all'.
$("input[name='chkCategories']").attr("checked","checked");
Uncheck all items in the checkbox list
Same here, uncheck all, a very common requirement.
$("input[name='chkCategories']").removeAttr("checked");
Make the second item being checked
List is zero-based, so the second item is nth(1)
$("input[name='chkCategories']:nth(1)").attr("checked","checked");
Show the value of each checked item (requires a container!)
In this case we simply alert the value, but we could might as well write it to another output field, container or whatever you may wish.
$('#chkCategoriesContainer :checkbox:checked').each(function() { alert($(this).val()); //$('#outputField').append(', '+$(this).val()); });
Radio
Our sample list again:
<div id="rdoCategoriesContainer"> <input type="radio" name="rdoCategories" value="none" checked="checked" />None<br/> <input type="radio" name="rdoCategories" value="books" />Books<br/> <input type="radio" name="rdoCategories" value="videos" />Videos<br/> <input type="radio" name="rdoCategories" value="dvds" />DVDs<br/> </div>
Get value of checked item
alert("Selected value: " + $("input[name='rdoCategories']:checked").val());
Append item to container
The item will be added to the DOM and is available to jQuery immediately.
$('#rdoCategoriesContainer').append('<input type="radio" name="rdoCategories" value="tapes" />Audio tapes<br/>');
- Share this:
About Me
I'm Michael Gaigg, Lead UI Engineer at Esri's Prof. Services.
I have over 8 years of experience in designing map interfaces and can't stop thinking about improving them.
Help me by sharing your thoughts, ideas and comments.
Categories
- Accessibility (16)
- Code Samples & Tips (8)
- Conclusions (4)
- Design Guidelines (11)
- Designing Map Interfaces (3)
- Go figure (9)
- Good News (19)
- Here and there (21)
- Map Applications (7)
- This Week's Highlights (53)
- Usability & UCD (22)
- Web Design (21)
Popular Posts
- ColoRotate – 3D color scheme generator with social component
- Web Content Accessiblity Guidelines (WCAG) 2.0: Overview and Structure
- Powerpoint Wireframe Stencils as Free Download
- Go figure: 10 Comic Strips that have Something in Common
- Job Posting: User Interface (UI) Engineer at ESRI
Latest tweets
- Awesome resources for website designers http://t.co/oB77As8O 2 weeks ago
- I just contacted Rep. Jerry Lewis to oppose #SOPA #PIPA - Join me! http://t.co/BuFcgvqf #wikipediablackout 2 weeks ago
- Awesome #login #form #sample http://t.co/hob6dtvF 2012-01-10
- Photo: Dude, just don’t pin the place you’ve been… ;) http://t.co/lwf3gIU8 2012-01-09
- Photo: Who wants to buy a church in Los Angeles? http://t.co/0SJrYxCv 2011-12-31
- More updates...
Posting tweet...

