2011-07-28 7 views
0

Je développe un programme basé sur PHP pour le test en ligne. Il y aura 25 questions aléatoires et le candidat devra répondre à 20 questions obligatoires. Afin de montrer si le candidat a répondu à une question, je veux inclure l'événement Radio Click de sorte que quand une option est cliquée, le numéro de série de cette question sera mis en évidence. Je suis en mesure de cocher et décocher la case d'option par la fonction jquery suivante:[bouton radio]

$(function(){ 
    $('input[type="radio"]').mousedown(function() { 
     if (this.checked) { 
      $(this).mouseup(function(e) { 
       var radio = this; 
       setTimeout(function() { 
        radio.checked = false; 
       }, 5); 

       $(this).unbind('mouseup');  
      }); 
     } 
    }); 
}); 

Je suis en mesure de changer la taille des caractères du numéro de question par le code suivant:

$(document).ready(function(){ 
    $('input[type="radio"]').click(function(){ 
     if (this.checked==true){ 
      $("#tt_1").css("font-size", "25px"); 
     } 
    }); 
}); 

Cependant, je Je ne suis pas en mesure d'inclure la condition ELSE dans la fonction ci-dessus afin que le formatage soit restauré lorsque le bouton d'option est désélectionné.

S'il vous plaît aidez-moi avec le code correct.

Merci beaucoup.

+0

Ne pas oublier de marquer réponse acceptée si vous avez l'info que vous voulez –

Répondre

0

Il sera beaucoup plus facile à l'aide addClass('your-class'), puis de définir la classe dans votre CSS, que d'essayer de restaurer/supprimer les valeurs CSS par jQuery.

Par exemple:

$(document).ready(function() { 
    var radios = $('input[type="radio"]'); 
    radios.click(function() { 
     radios.each(function() { 
      if (this.checked==true){ 
       $("#tt_1").addClass('bigger-font'); 
      } 
      else $("#tt_1").removeClass('bigger-font'); 
     }); 

    }); 
}); 


<style> 
.bigger-font { 
    font-size: 25px; 
} 
</style> 
0

Pourriez-vous ajouter un événement onblur

http://api.jquery.com/blur/

Ou vous pouvez réinitialiser tous les champs clic. par exemple.

$('input[type="radio"]').each(function(){ 
    // Reset the state 
}); 
+0

Je pense que ce n'est pas une bonne idée d'ajouter l'événement « onBlur », il sera toujours tiré lorsque le champ radio perd le focus. – reporter