Avatar of LimMH
LimMH
 asked on

Find ID and Values of Checkboxes from a form

Hi,
I have a form which I populated with checkboxes having ID based on the records pulled from a table.
eg: Table contains:
ID, Name
30, Some thing
64, Some one
28, Some where
70, Some how

By means of pulling info from the table, the eventual form will be:
<form>
<input type='checkbox' id='30' / >Some thing
<input type='checkbox' id='64' / >Some one
<input type='checkbox' id='28' / >Some where
<input type='checkbox' id='70' / >Some how
<input type='button' onclick='getcheckboxinfo()' />
</form>
Note: if there are more records, there will be more checkboxes. Thus no of checkboxes and their respective ID are unknown.

In the javascript function, how do I get the ID's of all checkboxes and their checked status?
If it's possible, having the answer in jquery will be best.
I know that from jquery I can get the number of checkboxes from:
var cbs = $("form input:checkbox"); //find all checkboxes  
var nbCbs = cbs.size(); //the number of checkboxes  

But I need help to get the ID values and the checkstatus of each and every checkboxes.

Thanks
JScriptjQueryScripting Languages

Avatar of undefined
Last Comment
LimMH

8/22/2022 - Mon
LimMH

ASKER
Ok. I manage to get it by Javascript.
var inputs = document.getElementsByTagName("input"); //or document.forms[0].elements;
var cbsx = []; //will contain all checkboxes checked status
var cbsid = []; //will contain all checkboxes ID values
for (var i = 0; i < inputs.length; i++) {
    if (inputs[i].type == "checkbox") {
        if (inputs[i].name!=""){
            cbsx.push(inputs[i].checked);
            cbsid.push(inputs[i].name);
        }
    }
}

Anyone can get it using jquery?
Terry_focus

Here it is in jQuery
//Holds the checkboxs as id=>checked
var chbs = [];
$("form input:checkbox").each(function(){
	chbs[this.id] = this.checked;
});
//Or as one array of ids and one of values
var chbsIDs = [];
var chbsVals = [];
$("form input:checkbox").each(function(){
	chbsIDs.push(this.id);
	chbsVals.push(this.checked);
});

Open in new window

ASKER CERTIFIED SOLUTION
Terry_focus

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.
LimMH

ASKER
Thank you for writting in detail. I am so new to jquery, didn't know how to code it. Got a new understanding of it now.
I started with Experts Exchange in 2004 and it's been a mainstay of my professional computing life since. It helped me launch a career as a programmer / Oracle data analyst
William Peck