Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 21/10/2011, 14h25   #1
Membre habitué
 
Femme Chris
Développeur Web
Inscription : mai 2010
Messages : 226
Détails du profil
Informations personnelles :
Nom : Femme Chris
Localisation : France

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2010
Messages : 226
Points : 103
Points : 103
Par défaut treeview(dynatree) decoche parent

Bonjour,
J'ai fait un treeview avec des checbox (dynatree.js) qui se trouve dans un <form>. Pour cela, j'ai mis des input type='checkbox' aux différents nœuds pour qu'a chaque fois que je clique sur un élément la checkbox prend la même valeur et au moment de l'envoie du formulaire je récupère les bon éléments.(l'input sera en display:none quand tout fonctionnera) Jusqu'ici tout fonctionne.
Lorsque, je coche un nœud qui est un enfant d'un autre, le nœud parent "réagit" selon si tous les enfants sont coché ou non. là j'arrive à le faire fonctionner aussi sur les inputs.
Mon problème est le suivant:
Lorsque je décoche un nœud enfant, l'input du parent reste coché.
voila mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 
<script type="text/javascript">
    $(function(){
        $("#tree").dynatree({
            //Tree parameters
            persist: true,
            checkbox: true,
            selectMode: 3,
            activeVisible: true,   
            //             Un/check real checkboxes recursively after selection
            onSelect: function(select, dtnode) {
                $("#chb-"+dtnode.data.key).attr("checked",select);//input checkbox correspondand au domaine coché/decoche
 
 
                $.map($("#tree").dynatree("getTree").getSelectedNodes(),
                function(dtnode){
                    $("#chb-"+dtnode.data.key).attr("checked",true);
                });
            }        
        });
 
        //         Update real checkboxes according to selections    
        $.map($("#tree").dynatree("getTree").getSelectedNodes(),
            function(dtnode){
 
                $("#chb-"+dtnode.data.key).attr("checked",true);
            });
    });
 
</script>
je joins une capture d’écran pour que cela soit plus compréhensible:
Comme vous pouvez le voir le nœud CA T n'est plus coché mais le parent Cap son input l'est encore.
J'ai essayé de partir sur le même modèle que getSelectedNodes
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
getSelectedNodes: function(stopOnParents) {
		var nodeList = [];
 
		this.tnRoot.visit(function(node){
 
			if( node.bSelected ) {
				nodeList.push(node);
				if( stopOnParents === true ){
					return "skip"; // stop processing this branch
				}
			}
		});
		return nodeList;
	},
pour le cas ou on décoche mais je n'y suis pas arrivé.
merci d'avance pour votre aide.
chris
Images attachées
Type de fichier : jpg treeview.JPG (17,3 Ko, 6 affichages)
chris0938 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 07h39.


 
 
 
 
Partenaires

Hébergement Web