186 votes

JQuery Si le bouton radio est coché

Double Possible:
Vérifier spécifiques bouton radio est coché

J'ai ces 2 boutons radio au moment de sorte que l'utilisateur peut décider si elles ont besoin frais de port compris dans le prix ou pas:

<input type="radio" id="postageyes" name="postage" value="Yes" /> Yes
<input type="radio" id="postageno" name="postage" value="No" /> No

J'ai besoin d'utiliser Jquery pour vérifier si le " oui " bouton radio est coché, et si c'est un ajout de la fonction. Quelqu'un pourrait-il me dire comment je le ferais s'il vous plaît?

Merci pour toute aide

edit:

J'ai mis à jour mon code, mais ça ne fonctionne pas. Suis-je en train de faire quelque chose de mal?

<script type='text/javascript'>
// <![CDATA[
jQuery(document).ready(function(){

$('input:radio[name="postage"]').change(function(){
    if($(this).val() == 'Yes'){
       alert("test");
    }
});

});

// ]]>
</script>

333voto

David Thomas Points 111253
$('input:radio[name="postage"]').change(
    function(){
        if ($(this).is(':checked') && $(this).val() == 'Yes') {
            // append goes here
        }
    });

Révisée (amélioration de l'-certains) de jQuery:

// defines a div element with the text "You're appendin'!"
// assigns that div to the variable 'appended'
var appended = $('<div />').text("You're appendin'!");

// assigns the 'id' of "appended" to the 'appended' element
appended.id = 'appended';

// 1. selects '<input type="radio" />' elements with the 'name' attribute of 'postage'
// 2. assigns the onChange/onchange event handler
$('input:radio[name="postage"]').change(
    function(){

        // checks that the clicked radio button is the one of value 'Yes'
        // the value of the element is the one that's checked (as noted by @shef in comments)
        if ($(this).val() == 'Yes') {

            // appends the 'appended' element to the 'body' tag
            $(appended).appendTo('body');
        }
        else {

            // if it's the 'No' button removes the 'appended' element.
            $(appended).remove();
        }
    });

JS Fiddle démo.

Références:

28voto

ShankarSangoli Points 45345

Essaye ça

 if($("input:radio[name=postage]").is(":checked")){
  //Code to append goes here
}
 

18voto

Mrchief Points 25418

Quelque chose comme ça:

 if($('#postageyes').is(':checked')) {
// do stuff
}
 

7voto

Shef Points 21595
 $('input:radio[name="postage"]').change(function(){
    if($(this).val() === 'Yes'){
       // append stuff
    }
});
 

Ceci écoutera un événement de changement sur les boutons radio. Au moment où l'utilisateur clique sur Yes , l'événement se déclenchera et vous pourrez ajouter tout ce que vous voulez au DOM.

4voto

genesis Points 32591
$("input").bind('click', function(e){
   if ($(this).val() == 'Yes') {
        $("body").append('whatever');
   }
});

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X