2011-03-17 4 views
0

J'utilise actuellement jQuery sur certains boutons radio. Lorsque l'utilisateur clique sur une radio, une fonction est appelée qui supprime l'attribut checked de toutes les autres radios et désactive les champs de saisie associés à d'autres radios. Par exemple, lorsque l'on clique sur radio,Sélection/désélection de bouton radio jQuery

function EnableRadio1() { 
    $('#x :input').attr('checked', false).attr('disabled', true); 
    $('#y :input').attr('checked', false).attr('disabled', true); 
    $('#z :input').attr('checked', false).attr('disabled', true); 
    $('#n :input').attr('checked', false).attr('disabled', true); 

    //enable segs_by_all options 
    $('#radio1 :input').removeAttr('disabled'); 
    } 

est appelé par mon aide Rails, <%= radio_button_tag 'users', 'all', false, :id => 'radio1', :onclick => 'EnableRadio1()' %>
Qu'est-ce qu'un moyen de faire plus succincte et jQueryesque cela? Merci beaucoup.

Répondre

2

Si je vous comprends ...

$(".radio").change(function(){ 
    $(":radio").not(this).attr({"checked": false, "disabled": true}); 
    $(this).removeAttr("disabled"); 
});