2011-11-14 3 views
1

두 가지 가능한 값이있는 라디오 버튼이 있습니다. 예 또는 아니오. 사용자가 예를 누르면 div가 나타나고 아무도 div를 숨기고 싶습니다.라디오 버튼 숨기기 및 표시 div jquery

내 코드는하지만 작동하지 않습니다

<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> 

사전에 감사

+0

당신은 너무이 적용하시기 바랍니다 내가 가정을 다시 –

답변

2

당신은 내가이 당신에게

<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(); 
      } 

     }); 
+0

그것을 확인 코드에서 닫기 태그 누락 입력에서 우리는 hide 함수를 호출해야합니다. 불행히도 내 코드가 잘못되었습니다. div 대신 대신 span이 있고 span.desc를 쓰는 스크립트에서 동일합니까? – user494766

+0

고맙습니다. 코드에 문제가 있습니다. 머리에 삽입했기 때문입니다. – user494766

2

할 수 중복 된이 있습니다.HTML에서 표시하려는 div와 '예'라디오 버튼에 모두 '예'라는 ID가 있습니다. ID는 문서에서 고유해야합니다.

당신이 당신의 HTML을 수정 한 후,이 일을해야 -

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

데모 - http://jsfiddle.net/mSLeA/

1

을 도움이되기를 바랍니다

$("input#yes").click(function() { 
    $("div.desc").show(); 
}); 
$("input#no").click(function() { 
    $("div.desc").show(); 
}); 
관련 문제