burger menu icon
WillMaster

WillMasterBlog > JavaScript

FREE! Coding tips, tricks, and treasures.

Possibilities weekly ezine

Get the weekly email website developers read:

 

Your email address

name@example.com
YES! Send Possibilities every week!

All Checkboxes With One Tap

All checkboxes of a set can be made to conform to a controlling checkbox.

In other words, when the controlling checkbox is tapped, all checkboxes of the set are checked or unchecked according to the state of the controlling checkbox.

The functionality can be desired when there are many checkboxes in a set. I recently needed such functionality.

A dashboard I'm making is being coded to export a table from database entries. The columns to include in the table are specified with checkboxes. Instead of requiring the user to tap 10 times to select all columns, I made an "ALL" checkbox to do it.

Form users who want most of the columns for their table can tap "ALL" and then uncheck the ones they don't want.

The online article has a demonstration and source code. (The demonstration wouldn't work in most email readers because JavaScript is employed.)

Here is a demonstration.

Columns









When the "ALL" checkbox is tapped, it overrides all checkboxes in the set. Whether checked or unchecked, the checkboxes will conform to the "ALL" checkbox.

Here is the source code for the entire demonstration, both the HTML and the JavaScript.

<div style="width:fit-content; border:1px solid #ccc; padding:.5em; border-radius:.5em; margin:.25em;">
<b>Columns</b>
<div style="margin-left:-.5em; margin-right:-.5em; height:0px; border-top:1px solid #ccc;"></div>
<label><input type="checkbox" id="all" onclick="AllBoxesCheckUncheck()">&thinsp;&#10003;ALL</label>
<div style="margin-left:-.5em; margin-right:-.5em; height:3px; border-top:1px solid #ccc;"></div>
    <label><input type="checkbox" id="account">&thinsp;Account</label>
<br><label><input type="checkbox" id="date">&thinsp;Date</label>
<br><label><input type="checkbox" id="type">&thinsp;Type</label>
<br><label><input type="checkbox" id="desc">&thinsp;Description</label>
<br><label><input type="checkbox" id="point">&thinsp;To/From</label>
<br><label><input type="checkbox" id="credit">&thinsp;Credit</label>
<br><label><input type="checkbox" id="debit">&thinsp;Debit</label>
<br><label><input type="checkbox" id="draw">&thinsp;Draw</label>
<br><label><input type="checkbox" id="cat">&thinsp;Category</label>
<br><label><input type="checkbox" id="notes">&thinsp;Notes</label>
</div>

<script type="text/javascript">
function AllBoxesCheckUncheck()
{
   var all = document.getElementById("all").checked;
   var checkboxes = new Array(
      "account",
      "date",
      "type",
      "desc",
      "point",
      "credit",
      "debit",
      "draw",
      "cat",
      "notes",
   );
   for(var i=0; i<checkboxes.length; i++) { document.getElementById(checkboxes[i]).checked = all; }
}
</script>

When the "ALL" checkbox is tapped, it calls the AllBoxesCheckUncheck() function.

The AllBoxesCheckUncheck() function has an array of all the checkbox id values (color coded blue). Those are the checkboxes that will be conformed to the state of the "ALL" checkbox — whether "ALL" is checked or unchecked.

The usability of a large set of checkboxes generally can be improved by allowing one tap to check or uncheck all checkboxes of the set.

(This content first appeared in Possibilities newsletter.)

Will Bontrager

Was this blog post helpful to you?
(anonymous form)

Support This Website

Some of our support is from people like you who see the value of all that's offered for FREE at this website.

"Yes, let me contribute."

Amount (USD):

Tap to Choose
Contribution
Method


All information in WillMaster Blog articles is presented AS-IS.

We only suggest and recommend what we believe is of value. As remuneration for the time and research involved to provide quality links, we generally use affiliate links when we can. Whenever we link to something not our own, you should assume they are affiliate links or that we benefit in some way.

Recent Articles in the Library

Beacon

Send a beacon to your script. Optionally, also send information.

Digging for an IP Address

While an app's IP address can always be found in the REMOTE_ADDR value, the value might not be the actual destination of the content retrieved from your website.

Simple CSS Rotate

Rotate divs, tables, and even characters. Specify the number of degrees or fraction of a turn, and you're good to go.

Avoid Expired SSL Certificate

Check the expiration date of your domain's SSL certificate

Image Zoom on Hover

Zoom the image with a hover. CSS. No JavaScript.

The INS and DEL Tags

The INS and DEL tags come in mighty handy to display editing marks and to emphasize ideas with HTML markup.

Viewing HTML Source Code

Three ways to view HTML source code.

How Can We Help You? balloons
How Can We Help You?
bullet Custom Programming
bullet Ready-Made Software
bullet Technical Support
bullet Possibilities Newsletter
bullet Website "How-To" Info
bullet Useful Information List

© 1998-2001 William and Mari Bontrager
© 2001-2011 Bontrager Connection, LLC
© 2011-2026 Will Bontrager Software LLC