Bonjour,
j'ai une page jsf contenant des checkboxes. J'ai une checkbox "principale" qui permet de sélectionner/désélectionner toutes les autres. Mais j'ai un petit souci de vitesse. Il faut 2 secondes pour que toutes les 50 checkboxes soient cochées...rien de grave, mais ce n'est pas très propre...
J'aimerais savoir s'il y a d'autres possibilités pour faire la même chose, mais bien plus performantes..
Voilà mon code:
Fonction Javascript:
JSF:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 function selectUnselectAllFields(checkbox) { var elements = document.forms.tSearch.elements; for (var i = 0; i < elements.length; i++) { var el = elements[i]; if (el.name != null && /^tSearch:cb\d*/.test(el.name)) { el.checked = checkbox.checked; } } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <h:panelGrid columns="2" columnClasses="formInputSmallFont, formInputSmallFont"> <f:verbatim> <input type="checkbox" onclick="selectUnselectAllFields(this)"></input> </f:verbatim> <h:outputText value="Select All"/> </h:panelGrid>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <h:panelGrid columns="12" columnClasses="formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont,formInputSmallFont"> <h:selectBooleanCheckbox id="cbTID" value="#{terminalManager.cbTID}"/> <h:outputText value="TID" /> <h:selectBooleanCheckbox id="cbMID" value="#{terminalManager.cbMID}"/> <h:outputText value="MID" /> .....autres 48 Checkbox..... </h:panelGrid>
Partager