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
| $( function(){ // forme abrégée de $(document).ready(function(
var jObjTbody = $( "#tableCocher" ).find( "tbody" ),
jObjRadios = jObjTbody.find( "input[type='radio']" ),
jObjRadiosToutCocher = jObjRadios.filter( ".ToutCocher" ),
jObjRadiosSaufToutCocher = jObjRadios.not( ".ToutCocher" ),
jObjTrs = jObjTbody.find( "tr" ).not( ":eq(0)" );
// debug, console, touche F12
// jObjTrs ne doit pas contenir la ligne "ToutCocher"
//console.log( jObjTrs );
/*
* Désélectionner les boutons "radio" "ToutCocher" lors
* d'un clic sur les autres boutons "radio"
*/
jObjRadiosSaufToutCocher.on( 'click', function( ){
jObjRadiosToutCocher.prop( "checked", false );
});
/*
* Lors d'un clic sur un bouton "radio" "ToutCocher"
*/
jObjRadiosToutCocher.on( 'click', function( ){
// désélectionner tous les boutons "radio" sauf celui-ci
jObjRadios.not( this ).prop( "checked", false );
// numéro de la colonne
var col = $( this ).val();
// pour tous les TR inclus dans l'objet jObjTrs
jObjTrs.each( function( i, itemTr ){
// pour tous les TD inclus dans l'élément du DOM itemTr
$( itemTr ).find( "td" ).each( function( j, itemTd ){
// si c'est la bonne colonne
if ( j == col ){
// sélectionner le bouton "radio"
$( itemTd )
.find( "input[type='radio']" )
.prop( "checked", true );
}
});
});
});
}); |
Partager