We do exactly the same thing. Here is my JS.
Note how the checkboxes are named. We have one funcrtion which toggles
checks on and off and another which checks for one or more checked.
/*
* Browser-safe get object. Tries all three approaches to get an object
* by its element Id.
*
* Param: objId - String - id of element to retrieve.
* Param: formId - String - id of form (optional).
* Returns: element or null if not found.
*/
function getObj(objId, formId) {
var fullId = objId;
if (formId != null && formId.length > 0) {
fullId = formId + ':' + objId;
}
//alert('getting object: ' + fullId);
var elem = null;
if (document.getElementById) {
elem = document.getElementById(fullId);
} else if (document.all) {
elem = document.all[fullId];
} else if (document.layers) {
elem = document.layers[fullId];
}
return elem;
}
/*
* Browser-safe. Check or uncheck an array of checkboxes. Boxes have ids
* like check[0], check[1], ... , check[n] where 'check' is the base Id that
* has been assigned to the group.
*
* Param: arrayId - String - id of element group to change
* Param: state - boolean - true (check all elements) false
(uncheck all elements)
* Returns: nothing
*/
function checkBoxArraySet(arrayId, state) {
for (i = 0; ; i++) {
id = arrayId + '[' + i + ']';
elem = getObj(id);
if (elem == null) {
break;
} else {
elem.checked = state;
}
}
}
/*
* Browser-safe. Checks to see if an array of check boxes has any which are
* checked. Boxes have ids like check[0], check[1], ... , check[n] where
'check'
* is the base Id that has been assigned to the group.
*
* Param: arrayId - String - id of element group to change
* Returns: boolean (true one or more checked) false (else)
*/
function checkBoxArrayHasChecked(arrayId) {
for (i = 0; ; i++) {
id = arrayId + '[' + i + ']';
elem = getObj(id);
if (elem == null) {
break;
} else if (elem.checked) {
return true;
}
}
return false;
}
-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Sent: Tuesday, July 18, 2006 2:41 PM
To: MyFaces Discussion
Subject: need javascript syntax to loop through checkbox list from dataTable
hello to everyone
I'm using a tomahawk dataTable where one of the t:columns contains a
t:selectBooleanCheckbox
The tag has id and a forceId="true" attributes.
In the rendered html, the id of the checkbox is foo[0], foo[1] etc
I need to be able to loop through this list and look for a .checked
property.
I've tried all the loop mechanisms usually described for checkboxes but
can't hit on the proper javascript syntax. googled till my eyes glazed
over.
can someone provide an example or a good reference to resolve this?
Thanks in advance for your time and help.
Tom
This message is intended for the recipient only and is not meant to be
forwarded or distributed in any other format. This communication is for
informational purposes only. It is not intended as an offer or solicitation
for the purchase or sale of any financial instrument, or security, or as an
official confirmation of any transaction. Putnam does not accept purchase
or redemptions of securities, instructions, or authorizations that are sent
via e-mail. All market prices, data and other information are not
warranted as to completeness or accuracy and are subject to change without
notice. Any comments or statements made herein do not necessarily reflect
those of Putnam, LLC (DBA Putnam Investments) and its subsidiaries and
affiliates. If you are not the intended recipient of this e-mail, please
delete the e-mail.