Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2544 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Treeview et javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Treeview et javascript

n°1776998
korben31
Posté le 25-08-2008 à 11:06:32  profilanswer
 

var nom=navigator.appName;
bonjour j'ai un soucis avec mozilla qui ne reconnait pas le event...
 

Code :
  1. function SelectAllChildNodes(event)
  2.     {
  3.         event = event || window.event;
  4.         //debugger;
  5.         if (nom=='Microsoft Internet Explorer') {
  6.         var obj = event.srcElement;
  7.         }
  8.         else {
  9.         var obj = window.event.target;
  10.         }
  11.        
  12.         var treeNodeFound = false;


Message édité par korben31 le 25-08-2008 à 11:51:58
mood
Publicité
Posté le 25-08-2008 à 11:06:32  profilanswer
 

n°1777012
SICKofitAL​L
misanthrope
Posté le 25-08-2008 à 11:26:39  profilanswer
 

et ca donne quoi ca ? :

Code :
  1. function SelectAllChildNodes (e)
  2.     {
  3.         var event = e || window.event;
  4.         //debugger;
  5.         var obj = event.target || event.srcElement;
  6.         var treeNodeFound = false;
  7. ...


 
faut se méfier, ttes les variables font parties de l'objet window ;)


Message édité par SICKofitALL le 25-08-2008 à 11:27:22

---------------
We deserve everything that's coming...
n°1777016
korben31
Posté le 25-08-2008 à 11:29:56  profilanswer
 

:D

n°1777019
SICKofitAL​L
misanthrope
Posté le 25-08-2008 à 11:30:50  profilanswer
 

Il faut prendre ca comment ? :o


---------------
We deserve everything that's coming...
n°1777029
korben31
Posté le 25-08-2008 à 11:51:27  profilanswer
 

Me reste juste un truc maintenant, j'ai un treeview en asp et j'ai recuperer une fonction qui permet de check tout les sous noeud
Le truk c'est que j'aimerai l'adapter pour faire un lien onclick qui me permette de faire une fonction qui me selectionne toute les checkboxes de mon treeview:
 

Code :
  1. function OnTreeClick(evt)
  2. {
  3. var src = window.event != window.undefined ? window.event.srcElement : evt.target;
  4. var isChkBoxClick = (src.tagName.toLowerCase() == "input" && src.type == "checkbox" );
  5. if(isChkBoxClick)
  6. {
  7.      var parentTable = GetParentByTagName("table", src);
  8.      var nxtSibling = parentTable.nextSibling;
  9.      //check if nxt sibling is not null & is an element node
  10.       if(nxtSibling && nxtSibling.nodeType == 1)
  11.      {
  12.          if(nxtSibling.tagName.toLowerCase() == "div" ) //if node has children
  13.          {
  14.              //check or uncheck children at all levels
  15.              CheckUncheckChildren(parentTable.nextSibling, src.checked);
  16.          }
  17.      }
  18. //check or uncheck parents at all levels
  19. CheckUncheckParents(src, src.checked);
  20. }
  21. }
  22. function CheckUncheckChildren(childContainer, check)
  23. {
  24. var childChkBoxes = childContainer.getElementsByTagName("input" );
  25.       var childChkBoxCount = childChkBoxes.length;
  26. for(var i=0;i<childChkBoxCount;i++)
  27. {
  28.      childChkBoxes[i].checked = check;
  29. }
  30. }
  31. function CheckUncheckParents(srcChild, check)
  32. {
  33. var parentDiv = GetParentByTagName("div", srcChild);
  34. var parentNodeTable = parentDiv.previousSibling;
  35. if(parentNodeTable)
  36. {
  37.      var checkUncheckSwitch;
  38.      if(check) //checkbox checked
  39.      {
  40.          var isAllSiblingsChecked = AreAllSiblingsChecked(srcChild);
  41.          if(isAllSiblingsChecked)
  42.                  checkUncheckSwitch = true;
  43.          else
  44.                  return; //do not need to check parent if any(one or more) child not checked
  45.      }
  46.      else //checkbox unchecked
  47.      {
  48.          checkUncheckSwitch = false;
  49.      }
  50.  
  51.      var inpElemsInParentTable = parentNodeTable.getElementsByTagName("input" );
  52.      if(inpElemsInParentTable.length > 0)
  53.      {
  54.          var parentNodeChkBox = inpElemsInParentTable[0];
  55.          parentNodeChkBox.checked = checkUncheckSwitch;
  56.          //do the same recursively
  57.         CheckUncheckParents(parentNodeChkBox, checkUncheckSwitch);
  58.      }
  59. }
  60. }
  61. function AreAllSiblingsChecked(chkBox)
  62. {
  63. var parentDiv = GetParentByTagName("div", chkBox);
  64. var childCount = parentDiv.childNodes.length;
  65. for(var i=0;i<childCount;i++)
  66. {
  67.      if(parentDiv.childNodes[i].nodeType == 1)
  68.      {
  69.          //check if the child node is an element node
  70.          if(parentDiv.childNodes[i].tagName.toLowerCase() == "table" )
  71.          {
  72.              var prevChkBox = parentDiv.childNodes[i].getElementsByTagName("input" )[0];
  73.              //if any of sibling nodes are not checked, return false
  74.              if(!prevChkBox.checked)
  75.              {
  76.                  return false;
  77.              }
  78.          }
  79.      }
  80. }
  81. return true;
  82. }
  83. //utility function to get the container of an element by tagname
  84. function GetParentByTagName(parentTagName, childElementObj)
  85. {
  86. var parent = childElementObj.parentNode;
  87. while(parent.tagName.toLowerCase() != parentTagName.toLowerCase())
  88.      {
  89.          parent = parent.parentNode;
  90.      }
  91. return parent;
  92. }

n°1777036
SICKofitAL​L
misanthrope
Posté le 25-08-2008 à 11:57:04  profilanswer
 

Tiens le sujet a changé de nom ... :o


---------------
We deserve everything that's coming...
n°1777038
korben31
Posté le 25-08-2008 à 11:58:20  profilanswer
 

oui j'ai fais un sujet generique :D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Treeview et javascript

 

Sujets relatifs
javaScript et balise <area> pour rendre visible une div[Résolu]Modifier Menu contextuel clic droit javascript/html
[résolu] pb fonctions javascriptRecherche javascript "similaire popup"
chargement flash en javascript + cachejavascript dans flash
Du php dans du javascript[JavaScript] Faire retourner une fonction qui utilise XmlHttpRequest
[RESOLU]Petite appli php ou javascript[.NET + JAVASCRIPT] TreeView, Pourquoi ne réagit t'il pas ?
Plus de sujets relatifs à : Treeview et javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR