2010-08-17 4 views
1

J'ai une table contenant un nombre de lignes, où chaque ligne contient 3 éléments td, dont le dernier est toujours un bouton radio.Table d'accès Ligne contenant le bouton radio

J'ai une fonction jquery qui est déclenché lorsque l'un de ces boutons radio est vérifié:

$('input[type=radio]').change(function() { 
     $('input[type=radio]').each(function(index) { 
      //remove class from tr 
     }); 
     //add class selected to tr 
    }); 

Ce que je cherche à faire est de changer la classe de la tr contenant le bouton radio sélectionné pour ' Sélectionnez 'et supprimez la classe' sélectionnée 'de l'option sélectionnée précédente (pour surligner). Y at-il un moyen d'accéder à la tr à partir du bouton radio?

Répondre

1

Essayez ceci:

$('input[type=radio]').change(function() { 

    $('input[type=radio]').each(function(index) { 
     $(this).closest('tr').removeClass('selected'); 
    }); 

    $(this).closest('tr').addClass('selected'); 
}); 

Notez que vous pouvez faire plus court avec $(':radio') plutôt que $('input[type=radio]').

Plus d'info:

+0

Parfait. Merci. – jkilbride

+0

@jkilbride: Vous êtes les bienvenus :) – Sarfraz

0

Eh bien cela peut être fait simplement en enlevant de tout tr, puis en ajoutant la classe selected où nous voulons. Simple eh ..

$('input[type=radio]').change(function() { 
    $(this).parents('table').find('tr').removeClass('selected'); 
    $(this).parents('tr:first').addClass('selected'); 
});