IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Arborescence de checkbox buggue dans un sens


Sujet :

jQuery

  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut Arborescence de checkbox buggue dans un sens
    Salut,

    J'ai besoin d'avoir une arborescence de checkbox avec des groupe et sous groupe.
    Dans mon cas, si je coche de haut en bas cela fonctionne; je m'explique :
    Si je clique uniquement "boards", tous les ascendants sont cliqués.
    Si je clique uniquement "quebec", tous les ascendants sont cliqués.
    Si je clique uniquement "film", tous les ascendants sont cliqués.

    En revanche c'est pas mal la pagaille si on veut faire le sens inverse (film, puis quebec, puis boards ...) ; ca ne donne pas un résultat très logique ...

    Est ce que vous voyez ce qui pourrait clocher ? Merci.


    Voici ma syntaxe :

    Le html est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    				<li><input type="checkbox" name="boards" class="mainboard" id="cbo"/> Boards</li>
    				<ul>
    					<li><input type="checkbox" name="quebec" class="boards" id="cque"/> Quebec</li>
    					<ul>
    						<li><input type="checkbox" name="qc_film" class="main_cb" id="cqufi"/> Film</li>
    						<ul>
     
    							<li><input type="checkbox" name="film_qc_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_qc_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_qc_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_qc_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="film_qc_rating_bil_3"/> Rating BIL</li>
     
    							<li><input type="checkbox" name="film_qc_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="qc_trailer" class="main_cb" id="cqutr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_qc_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="trailer_qc_runing_time_3"/> Runing time</li>
     
    							<li><input type="checkbox" name="trailer_qc_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_qc_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_qc_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_qc_description_3"/> Description</li>
    						</ul>
     
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="ontario" class="boards" id="cont"/> Ontario</li>
    					<ul>
    						<li><input type="checkbox" name="on_film" class="main_cb" id="confi"/> Film</li>
    						<ul>
     
    							<li><input type="checkbox" name="film_on_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_on_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_on_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_on_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="film_on_rating_bil_3"/> Rating BIL</li>
     
    							<li><input type="checkbox" name="film_on_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="on_trailer" class="main_cb" id="contr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_on_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="trailer_on_runing_time_3"/> Runing time</li>
     
    							<li><input type="checkbox" name="trailer_on_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_on_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_on_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_on_description_3"/> Description</li>
    						</ul>
     
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="maritimes" class="boards" id="cmar"/> Maritimes</li>
    					<ul>
    						<li><input type="checkbox" name="mar_film" class="main_cb" id="cmarfi"/> Film</li>
    						<ul>
     
    							<li><input type="checkbox" name="film_mar_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_mar_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_mar_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_mar_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="film_mar_rating_bil_3"/> Rating BIL</li>
     
    							<li><input type="checkbox" name="film_mar_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="mar_trailer" class="main_cb" id="cmartr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_mar_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="trailer_mar_runing_time_3"/> Runing time</li>
     
    							<li><input type="checkbox" name="trailer_mar_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_mar_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_mar_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_mar_description_3"/> Description</li>
    						</ul>
     
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="manitoba" class="boards" id="cman"/> Manitoba</li>
    					<ul>
    						<li><input type="checkbox" name="man_film" class="main_cb" id="cmanfi"/> Film</li>
    						<ul>
     
    							<li><input type="checkbox" name="film_man_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_man_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_man_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_man_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="film_man_rating_bil_3"/> Rating BIL</li>
     
    							<li><input type="checkbox" name="film_man_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="man_trailer" class="main_cb" id="cmantr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_man_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="trailer_man_runing_time_3"/> Runing time</li>
     
    							<li><input type="checkbox" name="trailer_man_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_man_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_man_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_man_description_3"/> Description</li>
    						</ul>
     
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="british_columbia" class="boards" id="cbr"/> British Columbia</li>
    					<ul>
    						<li><input type="checkbox" name="br_film" class="main_cb" id="cbrfi"/> Film</li>
    						<ul>
     
    							<li><input type="checkbox" name="film_br_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_br_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_br_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_br_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="film_br_rating_bil_3"/> Rating BIL</li>
     
    							<li><input type="checkbox" name="film_br_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="br_trailer" class="main_cb" id="cbrtr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_br_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="trailer_br_runing_time_3"/> Runing time</li>
     
    							<li><input type="checkbox" name="trailer_br_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_br_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_br_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_br_description_3"/> Description</li>
    						</ul>
     
    					</ul>
    				</ul>
    Et le Javascript est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    	$(".main_cb").click(function() {
    		var id = $(this).attr("id");
    		if ( $("#"+id).attr("checked") != '' )
    		$("#"+id).parent("li").next("ul").children("li").children("input[type='checkbox']").attr("checked","checked");
    		else
    		$("#"+id).parent("li").next("ul").children("li").children("input[type='checkbox']").attr("checked",false);
    	});
     
    	$(".mainboard").click( function() {
    		if ( $(this).attr("checked") != '')
    		$(".boards").click().click().attr("checked","checked");
    		else
    		$(".boards").click().click().attr("checked",false);
    	});
     
    	$(".boards").bind('click', function() {
    		if ( $(this).attr("checked") != '')
    		$(this).parent("li").next("ul").children("li").children("input[type='checkbox']").click().click().attr("checked","checked");
    		else
    		$(this).parent("li").next("ul").children("li").children("input[type='checkbox']").click().click().attr("checked",false);
    	});

  2. #2
    Membre chevronné
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Par défaut
    Bonjour,
    Est-ce que tu pourrais préciser ce que tu as besoin d'obtenir (perso, je trouve logique la remontée (de film vers boards) mais pas la redescente (de board vers film), du coup je suis pas sûr de comprendre ce qui cloche pour toi....

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut
    Salut,

    Ok j'expliques donc :

    Si uniquement click sur board > tout ce qui est en dessous coché
    Si uniquement click sur "quebec" ("board" non cliqué) > ce qui est en dessous coché
    Si uniquement click sur "film" ("board" et "quebec" non cliqué) > ce qui est en dessous coché

    La pour l'instant cela me sembles logique.

    Ensuite ce que je souhaiterai et qui ne fonctionnes pas :

    Si uniquement click sur "film" > ce qui est en dessous coché (ok pour le moment)
    Si click sur "quebec" et que "film" est déjà coché > il faudrait que ca coche "trailer" et ce qui est associé au trailer + tout ce qui est déjà en rapport avec "film". HORS cela décoche la partie "film" (ce qui est en rapport en tout cas, pas la checkbox associé à "film")
    Si click sur "boards" et que "quebec" est coché et "film" (et ses ascendants) est coché et que "trailer" (et ses ascendants) est coché > il faudrait que ca coche tout (sélection totale). HORS cela coche tout mais décoche tout ce qui est en rapport avec "quebec" sauf la checkbox quebec.

    J'esperes que c'est un peu plus compréhensible.

    Merci.

  4. #4
    Membre chevronné
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Par défaut
    Hello again,
    plusieurs remarques, qui partent d'une seule: fait attention à la justesse de ton code html (encadrer des <ul> imbriqués dans des <li>). Ca:
    - évite les erreurs (et notamment celles qui font que les navigateurs produisent des résultats différents (ton code, par ex, ne marchait pas sur mon IE))
    - rend les choses plus claires et ce qui, notamment, permet de voir ce que tu peux factoriser ou pas... en effet, tu n'as pas besoin de tes 3 classes, une seule suffit(dans mon code, ckbx):
    code html (un peu réduit pour le test)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
     
     <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" lang="fr">
    <head>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
    <script type="text/javascript" src="ckbx.js"></script>
    <style>
    ul{
    	list-style-type: none; 
    }
    </style>
    </head>
    <body>
    		<ul>
    			<li><input type="checkbox" name="boards" class="ckbx" id="cbo"/> Boards</li>
    			<li>
    				<ul>
    					<li><input type="checkbox" name="quebec" class="ckbx" id="cque"/> Quebec</li>
    					<li>
    						<ul>
    							<li><input type="checkbox" name="qc_film" class="ckbx" id="cqufi"/> Film</li>
    							<li>
    								<ul>
     
    									<li><input type="checkbox" name="film_qc_certificate_3"/> Certificate</li>
    									<li><input type="checkbox" name="film_qc_runing_time_3"/> Runing time</li>
    									<li><input type="checkbox" name="film_qc_rating_fr_3"/> Rating FR</li>
    									<li><input type="checkbox" name="film_qc_rating_en_3"/> Rating EN</li>
    									<li><input type="checkbox" name="film_qc_rating_bil_3"/> Rating BIL</li>
     
    									<li><input type="checkbox" name="film_qc_description_3"/> Description</li>
    								</ul>
    							</li>
    							<li><input type="checkbox" name="qc_trailer" class="ckbx" id="cqutr"/> Trailer</li>
    							<li>
    								<ul>
    									<li><input type="checkbox" name="trailer_qc_certificate_3"/> Certificate</li>
    									<li><input type="checkbox" name="trailer_qc_runing_time_3"/> Runing time</li>
     
    									<li><input type="checkbox" name="trailer_qc_rating_fr_3"/> Rating FR</li>
    									<li><input type="checkbox" name="trailer_qc_rating_en_3"/> Rating EN</li>
    									<li><input type="checkbox" name="trailer_qc_rating_bil_3"/> Rating BIL</li>
    									<li><input type="checkbox" name="trailer_qc_description_3"/> Description</li>
    								</ul>
    							</li>
    						</ul>
    					</li>
    					<li><input type="checkbox" name="ontario" class="ckbx" id="cont"/> Ontario</li>
    					<li>
    						<ul>
    							<li><input type="checkbox" name="on_film" class="ckbx" id="confi"/> Film</li>
    							<li>
    								<ul>
     
    									<li><input type="checkbox" name="film_on_certificate_3"/> Certificate</li>
    									<li><input type="checkbox" name="film_on_runing_time_3"/> Runing time</li>
    									<li><input type="checkbox" name="film_on_rating_fr_3"/> Rating FR</li>
    									<li><input type="checkbox" name="film_on_rating_en_3"/> Rating EN</li>
    									<li><input type="checkbox" name="film_on_rating_bil_3"/> Rating BIL</li>
     
    									<li><input type="checkbox" name="film_on_description_3"/> Description</li>
    								</ul>
    							</li>
    							<li><input type="checkbox" name="on_trailer" class="ckbx" id="contr"/> Trailer</li>
    							<li>
    								<ul>
    									<li><input type="checkbox" name="trailer_on_certificate_3"/> Certificate</li>
    									<li><input type="checkbox" name="trailer_on_runing_time_3"/> Runing time</li>
     
    									<li><input type="checkbox" name="trailer_on_rating_fr_3"/> Rating FR</li>
    									<li><input type="checkbox" name="trailer_on_rating_en_3"/> Rating EN</li>
    									<li><input type="checkbox" name="trailer_on_rating_bil_3"/> Rating BIL</li>
    									<li><input type="checkbox" name="trailer_on_description_3"/> Description</li>
    								</ul>
    							</li>
    						</ul>
    					</li>
    				</ul>
    			</li>
    		</ul>
    	</body>
    </html>
    code js (ckbx.js):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $(document).ready(function(){
    		$(".ckbx").click(function() {
    		alert($(this).attr("checked"));
    			if ($(this).attr("checked") =='checked')
    				check($(this), true);
    			else
    				check($(this), false);
    		});
     
     
    		function check(item, check){
    				alert (check);
    				item.parent("li").next().find("input[type='checkbox']").attr("checked",check);
    		}
    });

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2008
    Messages
    104
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 104
    Par défaut
    Salut,

    Désolé du temps de réponse, j'étais sur un autre projet en parallèle et pas eu le temps de revenir sur ca ; mais merci de ton aide.

    Donc pour ce qui est de l'erreur HTML, ce n'est pas vraiment une erreur (du moins il ne me sembles pas) ; car en fait je ne t'ai mis qu'un bout de mon formulaire global. Je te mets le code ici, sachant que la section "BOARDS" doit être alignée avec "General Informations", "Formats", "Availabilities", "Sales", "Web".

    Dans le code complet HTML, l'alignement sur la page globale devrait être bon d'apres moi ? En revanche en essayant d'intégrer ton code à mon formulaire au complet, cela n'a pas l'air de fonctionner, une idée ?

    Merci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
     
    <form method="post" action="report.php?select_report=true">
    	Saved templates : <select name="report_select">
    	<option>Choose one</option>
    	<option value="33">FULL</option><option value="34">gi et availabilities</option><option value="35">gi et formats</option>
     
    	</select>
    	<input type="submit" name="submit" value="Ok"/>
    <br/><br/>
     
    <hr style="border: none; border-top: 1px solid #CCC; margin-top:15px"/>
    </form>
     
    <div class="form" style="width: 800px">
    	<form id="main_form" action="report.php" method="post" target="_blank" class="" style="float: left; width: 100%">
    		<fieldset>
    			<ul>
    				<li><input type="checkbox" name="general_informations" class="main_cb" id="cgi"/> General informations</li>
     
    				<ul class="gi">
    					<li><input type="checkbox" name="title_0"/> Original title</li>
    					<li><input type="checkbox" name="volume_0"/> Volume</li>
    					<li><input type="checkbox" name="original_language_0"/> Original language</li>
    					<li><input type="checkbox" name="duration_0"/> Duration</li>
     
    					<li><input type="checkbox" name="amg_0"/> AMG</li>
    					<li><input type="checkbox" name="studioname_0"/> Studio</li>
    					<li><input type="checkbox" name="img_url_0"/> Image url</li>
    					<li><input type="checkbox" name="categories_0"/> Genres</li>
    					<li><input type="checkbox" name="production_year_0"/> Year of production</li>
     
    					<li><input type="checkbox" name="origin_country_0"/> Country of origin</li>
    					<li><input type="checkbox" name="canadian_certified_0"/> Canadian certified</li>
    					<li><input type="checkbox" name="cavco_certified_number_0"/> Cavco certified number</li>
    					<li><input type="checkbox" name="cavco_points_0"/> Cavco points</li>
    				</ul>
     
    				<li><input type="checkbox" name="formats" class="main_cb" id="cfo"/> Formats</li>
    				<ul>
    					<li><input type="checkbox" name="format_en_1"/> Format</li>
    					<li><input type="checkbox" name="lang_en_1"/> Language</li>
    					<li><input type="checkbox" name="dub_title_1"/> Dub title</li>
     
    					<li><input type="checkbox" name="title_number_1"/> # Title</li>
    					<li><input type="checkbox" name="upc_1"/> UPC</li>
    					<li><input type="checkbox" name="srp_1"/> SRP</li>
    					<li><input type="checkbox" name="mwp_1"/> Minimum wholesale price</li>
    					<li><input type="checkbox" name="release_date_1"/> Release date</li>
     
    					<li><input type="checkbox" name="closed_captionning_1"/> Closed captionning</li>
    					<li><input type="checkbox" name="closed_captionning_lang_1"/> Closed captionning language</li>
    					<li><input type="checkbox" name="subtitles_1"/> Subtitles</li>
    					<li><input type="checkbox" name="subtitles_lang_1"/> Subtitles language</li>
    					<li><input type="checkbox" name="video_description_1"/> Video description</li>
     
    					<li><input type="checkbox" name="extra_features_1"/> Extra features</li>
    					<li><input type="checkbox" name="discs_number_1"/> Number of discs</li>
    					<li><input type="checkbox" name="links_1"/> Links</li>
    					<li><input type="checkbox" name="materials_received_1"/> Materials received</li>
    					<li><input type="checkbox" name="audio_1"/> Audio</li>
     
    					<li><input type="checkbox" name="aspect_ratio_1"/> Aspect ratio</li>
    					<li><input type="checkbox" name="commentary_1"/> Commentary</li>
    				</ul>
    				<li><input type="checkbox" name="details" class="main_cb" id="cde"/> Details</li>
    				<ul>
    					<li><input type="checkbox" name="trailer_link_2"/> Trailer link</li>
     
    					<li><input type="checkbox" name="website_2"/> Website</li>
    					<li><input type="checkbox" name="director_2"/> Director</li>
    					<li><input type="checkbox" name="synopsis_fr_2"/> Synopsis FR</li>
    					<li><input type="checkbox" name="synopsis_en_2"/> Synopsis EN</li>
    					<li><input type="checkbox" name="short_synopsis_fr_2"/> Short synopsis FR</li>
     
    					<li><input type="checkbox" name="short_synopsis_en_2"/> Short synopsis EN</li>
    					<li><input type="checkbox" name="keywords_fr_2"/> Keywords FR</li>
    					<li><input type="checkbox" name="keywords_en_2"/> Keywords EN</li>
    					<li><input type="checkbox" name="awards_fr_2"/> Awards FR</li>
    					<li><input type="checkbox" name="awards_en_2"/> Awards EN</li>
     
    					<li><input type="checkbox" name="taglines_fr_2"/> Taglines FR</li>
    					<li><input type="checkbox" name="taglines_en_2"/> Taglines EN</li>
    					<li><input type="checkbox" name="crew_fr_2"/> Crew FR</li>
    					<li><input type="checkbox" name="crew_en_2"/> Crew EN</li>
    					<li><input type="checkbox" name="crew_lname_2"/> Crew Names</li>
     
    					<li><input type="checkbox" name="reviews_fr_2"/> Reviews FR</li>
    					<li><input type="checkbox" name="reviews_en_2"/> Reviews EN</li>
    					<li><input type="checkbox" name="reviews_lname_2"/> Reviews Names</li>
    					<li><input type="checkbox" name="actors_lname_2"/> Actors</li>
    				</ul>
     
    				<li><input type="checkbox" name="boards" class="mainboard" id="cbo"/> Boards</li>
    				<ul>
    					<li><input type="checkbox" name="quebec" class="boards" id="cque"/> Quebec</li>
    					<ul>
    						<li><input type="checkbox" name="qc_film" class="main_cb" id="cqufi"/> Film</li>
    						<ul>
     
    							<li><input type="checkbox" name="film_qc_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_qc_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_qc_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_qc_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="film_qc_rating_bil_3"/> Rating BIL</li>
     
    							<li><input type="checkbox" name="film_qc_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="qc_trailer" class="main_cb" id="cqutr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_qc_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="trailer_qc_runing_time_3"/> Runing time</li>
     
    							<li><input type="checkbox" name="trailer_qc_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_qc_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_qc_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_qc_description_3"/> Description</li>
    						</ul>
     
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="ontario" class="boards" id="cont"/> Ontario</li>
    					<ul>
    						<li><input type="checkbox" name="on_film" class="main_cb" id="confi"/> Film</li>
    						<ul>
     
    							<li><input type="checkbox" name="film_on_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_on_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_on_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_on_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="film_on_rating_bil_3"/> Rating BIL</li>
     
    							<li><input type="checkbox" name="film_on_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="on_trailer" class="main_cb" id="contr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_on_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="trailer_on_runing_time_3"/> Runing time</li>
     
    							<li><input type="checkbox" name="trailer_on_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_on_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_on_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_on_description_3"/> Description</li>
     
    						</ul>
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="maritimes" class="boards" id="cmar"/> Maritimes</li>
    					<ul>
    						<li><input type="checkbox" name="mar_film" class="main_cb" id="cmarfi"/> Film</li>
     
    						<ul>
    							<li><input type="checkbox" name="film_mar_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_mar_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_mar_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_mar_rating_en_3"/> Rating EN</li>
     
    							<li><input type="checkbox" name="film_mar_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="film_mar_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="mar_trailer" class="main_cb" id="cmartr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_mar_certificate_3"/> Certificate</li>
     
    							<li><input type="checkbox" name="trailer_mar_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="trailer_mar_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_mar_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_mar_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_mar_description_3"/> Description</li>
     
    						</ul>
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="manitoba" class="boards" id="cman"/> Manitoba</li>
    					<ul>
    						<li><input type="checkbox" name="man_film" class="main_cb" id="cmanfi"/> Film</li>
     
    						<ul>
    							<li><input type="checkbox" name="film_man_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_man_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_man_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_man_rating_en_3"/> Rating EN</li>
     
    							<li><input type="checkbox" name="film_man_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="film_man_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="man_trailer" class="main_cb" id="cmantr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_man_certificate_3"/> Certificate</li>
     
    							<li><input type="checkbox" name="trailer_man_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="trailer_man_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_man_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_man_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_man_description_3"/> Description</li>
     
    						</ul>
    					</ul>
    				</ul>
    				<ul>
    					<li><input type="checkbox" name="british_columbia" class="boards" id="cbr"/> British Columbia</li>
    					<ul>
    						<li><input type="checkbox" name="br_film" class="main_cb" id="cbrfi"/> Film</li>
     
    						<ul>
    							<li><input type="checkbox" name="film_br_certificate_3"/> Certificate</li>
    							<li><input type="checkbox" name="film_br_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="film_br_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="film_br_rating_en_3"/> Rating EN</li>
     
    							<li><input type="checkbox" name="film_br_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="film_br_description_3"/> Description</li>
    						</ul>
    						<li><input type="checkbox" name="br_trailer" class="main_cb" id="cbrtr"/> Trailer</li>
    						<ul>
    							<li><input type="checkbox" name="trailer_br_certificate_3"/> Certificate</li>
     
    							<li><input type="checkbox" name="trailer_br_runing_time_3"/> Runing time</li>
    							<li><input type="checkbox" name="trailer_br_rating_fr_3"/> Rating FR</li>
    							<li><input type="checkbox" name="trailer_br_rating_en_3"/> Rating EN</li>
    							<li><input type="checkbox" name="trailer_br_rating_bil_3"/> Rating BIL</li>
    							<li><input type="checkbox" name="trailer_br_description_3"/> Description</li>
     
    						</ul>
    					</ul>
    				</ul>
    				<li><input type="checkbox" name="availabilities" class="main_cb" id="cav"/> Availabilities</li>
    				<ul>
    					<li><input type="checkbox" name="platformname_4"/> Platform</li>
    					<li><input type="checkbox" name="territory_en_4"/> Territory</li>
     
    					<li><input type="checkbox" name="afrom_4"/> From</li>
    					<li><input type="checkbox" name="ato_4"/> To</li>
    				</ul>
    				<li><input type="checkbox" name="sales" class="main_cb" id="csa"/> Sales</li>
    				<ul>
    					<li><input type="checkbox" name="tv_clientname_5"/> Client</li>
     
    					<li><input type="checkbox" name="exclusive_5"/> Exclusive</li>
    					<li><input type="checkbox" name="sfrom_5"/> From</li>
    					<li><input type="checkbox" name="sto_5"/> To</li>
    				</ul>
    				<li><input type="checkbox" name="web" class="main_cb" id="cwe"/> Web</li>
     
    				<ul>
    					<li><input type="checkbox" name="url_6"/> Link URL</li>
    					<li><input type="checkbox" name="text_6"/> Link text</li>
    				</ul>
    			</ul>
    			Download CSV File : <input type="checkbox" name="csv"/> (not saved when you add a new template)<br/><br/>
     
    			<input type="submit" name="submit" value="Generate report" onclick="$('form').attr('action','cellules.php');" id="submit_click"/> Or ...<br/><br/>
    			Save template as : <input style="width: 200px; height: 20px" id="report_name" autocomplete="off" type="text" name="report_name"/> <input type="submit" name="submit" value="And generate report" onclick="if ($('#report_name').val() == '') {alert('Fill the report name field before !'); return false;}"/>
    		</fieldset>
    	</form>
    </div>
     
    <script type="text/javascript">
    	$(document).ready(function() {
     
    		$("input[type='checkbox']").css('margin-right','10px');
    		$("ul,li").css('list-style-type','none');
     
    	});
     
    	$(".main_cb").click(function() {
    		var id = $(this).attr("id");
    		if ( $("#"+id).attr("checked") != '' )
    		$("#"+id).parent("li").next("ul").children("li").children("input[type='checkbox']").attr("checked","checked");
    		else
    		$("#"+id).parent("li").next("ul").children("li").children("input[type='checkbox']").attr("checked",false);
    	});
     
    	$(".mainboard").click( function() {
    		if ( $(this).attr("checked") != '')
    		$(".boards").click().click().attr("checked","checked");
    		else
    		$(".boards").click().click().attr("checked",false);
    	});
     
    	$(".boards").bind('click', function() {
    		if ( $(this).attr("checked") != '')
    		$(this).parent("li").next("ul").children("li").children("input[type='checkbox']").click().click().attr("checked","checked");
    		else
    		$(this).parent("li").next("ul").children("li").children("input[type='checkbox']").click().click().attr("checked",false);
    	});
    </script>

  6. #6
    Membre chevronné
    Avatar de kalimukti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Octobre 2011
    Messages
    262
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Octobre 2011
    Messages : 262
    Par défaut
    Bonjour,
    ce que j'appelais une erreur (de syntaxe)dans ton code HTML, c'est de mettre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <ul>
    					<li><input type="checkbox" name="quebec" class="boards" id="cque"/> Quebec</li>
    					<ul>
    						<li><input type="checkbox" name="qc_film" class="main_cb" id="cqufi"/> Film</li>
    						<ul>
    au lieu de:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <ul>
          <li><input type="checkbox" name="quebec" class="boards" id="cque"/> Quebec</li>
          <li>
                 <ul>
                       <li><input type="checkbox" name="qc_film" class="main_cb" id="cqufi"/> Film</li>
                       <li>
                             <ul>
                                   ....
                             </ul>
                       </li>
                  </ul>
           </li>
    </ul>
    mon code dépend de cette structure où tes <ul> imbriqués sont imbriqués dans des <li>...</li>. C'est cette structure qui permet la factorisation.
    Ca t'aide ?

Discussions similaires

  1. Réponses: 2
    Dernier message: 25/09/2006, 14h03
  2. Liste des checkbox cochées dans un formulaire
    Par qwiskas dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 19/09/2006, 05h25
  3. [XP] Bureau à distance ne fonctionne que dans un sens
    Par beegees dans le forum Windows XP
    Réponses: 5
    Dernier message: 09/07/2006, 09h49
  4. [Partage de fichiers] Impossible dans un sens
    Par Raideman dans le forum Windows XP
    Réponses: 5
    Dernier message: 19/12/2005, 09h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo