Bonjour les gens
Je me casse un peu la pipe sur un probleme depuis hier, et je ne trouve pas la raison
J'ai une page ASPX sur un site en ASP.NET 2.0 contenant un Treeview, generer a partir de donnée XML.
Jusque la rien de compliqué.
Le treeview est en mode case a cocher sur chacun des noeud.
Ce que je souhaite, c'est cocher tout les noeuds enfants lorsque je coche un noeud.
J'ai trouvé pas mal de script Javascript, mais impossible de les faire fonctionner, il passe bien dans le script mais ne coche pas les enfants, je ne comprend réellement pas.
Quelqu'un a deja eut ce probleme ?
Merci d'avance
PS : voici le script
Code :
- function client_OnTreeNodeChecked()
- {
- var obj = window.event.srcElement;
- var treeNodeFound = false;
- var checkedState;
- if (obj.tagName == "INPUT" && obj.type == "checkbox" )
- {
- var treeNode = obj;
- checkedState = treeNode.checked;
- do
- {
- obj = obj.parentElement;
- } while (obj.tagName != "TABLE" )
- var parentTreeLevel = obj.rows[0].cells.length;
- var parentTreeNode = obj.rows[0].cells[0];
- var tables = obj.parentElement.getElementsByTagName("TABLE" );
- var numTables = tables.length
- if (numTables >= 1)
- {
- for (i=0; i < numTables; i++)
- {
- if (tables[i] == obj)
- {
- treeNodeFound = true;
- i++;
- if (i == numTables)
- {
- return;
- }
- }
- if (treeNodeFound == true)
- {
- var childTreeLevel = tables[i].rows[0].cells.length;
- if (childTreeLevel > parentTreeLevel)
- {
- var cell = tables[i].rows[0].cells[childTreeLevel - 1];
- var inputs = cell.getElementsByTagName("INPUT" );
- inputs[0].checked = checkedState;
- }
- else
- {
- return;
- }
- }
- }
- }
- }
- }
|
---------------
Je vous préviens, je suis une merde en orthographe, vous me parlé à vos risques et périls !