2011-11-14 2 views
1

J'ai un bouton radio avec deux valeurs possibles oui ou non. Je voudrais quand l'utilisateur appuyez sur oui une div apparaîtra et quand non cacher la div.bouton radio masquer et montrer div jquery

Mon code est mais il ne fonctionne pas:

<script type="text/javascript"> 
        $(document).ready(function() { 
        $("div.desc").hide(); 
        $("input[name$='pain']").click(function() { 
        var test = $(this).val(); 
        $("div.desc").hide(); 
        $("#" + test).show(); 
        }); 
        }); 
       </script> 

     <div id="fieldsetInner"> 
       <fieldset class="rightInner"> 
       <legend>pain</legend> 
       <label for="pain" class="label2">do you feel pain ; </label> 
       <input name="pain" type="radio" value="yes" id="yes" checked="checked"/> Yes &nbsp; 
       <input name="pain" type="radio" value="no"/> No 

       <div id="yes" class="desc"> 
       <label for="pain-feature1-morph" class="label2">Morph : </label> 
       </div> 
      </div> 

Merci à l'avance

+0

Il vous manque la balise Fermer dans votre code si s'il vous plaît appliquer cela et vérifier à nouveau –

Répondre

2

vous pourriez faire

$("input#yes").click(function() { 
    $("div.desc").show(); 
}); 
$("input#no").click(function() { 
    $("div.desc").show(); 
}); 
+0

je suppose en entrée non, nous devons appeler la fonction de masquage. Malheureusement, quelque chose ne va pas avec mon code. Il est le même d'avoir span au lieu de div et dans le script pour écrire span.desc? – user494766

+0

merci beaucoup le problème que j'ai avec votre code c'est que je l'ai inséré dans la tête. – user494766

2

J'espère que cela vous aidera

<input name="pain" type="radio" value="yes" id="yes"/> Yes 
    <input name="pain" type="radio" value="no" id="no" /> No 


    $('input:radio[name=pain]').click(function() { 
     if ($('#yes').attr('checked')) { 
      $('.desc').show(); 
      } else if ($('#no').attr('checked')) { 
      $('.desc').hide(); 
      } 

     }); 
1

Vous avez un duplicata id dans votre HTML, à la fois le div que vous essayez d'afficher et le bouton radio «oui» ont l'ID «oui». Les ID doivent être uniques dans le document.

Une fois que vous avez fixé votre code HTML, cela devrait fonctionner -

$(document).ready(function() { 
    $("input[name$='pain']").change(function() { 
     var test = $(this).val(); 
     $("div.desc").hide(); 
     if ($("div#" + test).length > 0) $("div#" + test).show(); 
    }) 
}); 

Démo - http://jsfiddle.net/mSLeA/

Questions connexes