2010-06-20 5 views
1

Je dois modifier la couleur bg d'une div contenant un bouton radio lorsque l'utilisateur sélectionne le bouton. J'utilise jquery - donc il semble qu'il devrait y avoir un moyen simple d'accomplir cela. J'ai quelque chose à mon installation html comme ceci:Modification de la couleur bg lorsque la radio btn est sélectionnée

<div class="sales_box"> 
<table> 
<tr> 
<td class="radio_cell"><input type="radio"></td> 
</tr> 
</table> 
</div> 

<div class="sales_box"> 
<table> 
<tr> 
<td class="radio_cell"><input type="radio"></td> 
</tr> 
</table> 
</div> 

Répondre

6

poignée juste l'événement de changement du bouton radio puis utilisez la méthode closest() de jQuery:

$(document).ready(function(){ 
    $('input:radio').change(function(){ 
     $(this).closest('div').css('background-color', 'red'); 
    }); 
}); 

Et comme redsquare a dit, vous shouldn » t vraiment mis en ligne css. Vous devez utiliser la fonction toggleclass. Je viens d'utiliser la fonction css comme exemple.

+0

cela va changer l'arrière-plan td – redsquare

+0

@redsquare - Pas besoin de l'downvote, donnez-moi de changer pour le corriger d'abord. – GenericTypeTea

+0

Je ne l'ai pas -1 – redsquare

0

Essayez

$(function() { 
     $(".radio_cell input[type=radio]").bind("click", function() { 
      $(this).parents('div:first').css("background-color", "Blue"); 
     }); 
    }); 
+1

le plus proche est meilleur ici, de cette façon obtient tous les parents puis les filtres – redsquare

0

j'utiliser le toggleClass plutôt que de mettre en ligne css.

$(document).ready(function(){ 
    $('input:radio').change(function(){ 
     $(this).closest('div').toggleClass('highlight'); 
    }); 
}); 
+0

Je viens d'ajouter un suivi à ce sujet concernant le comportement de désélection: http://stackoverflow.com/questions/3078781/change-bg-on-radio-deselect – Thomas

Questions connexes