2013-08-20 2 views
0

나는 자바 스크립트 프로그래밍에 초보자이며, 여기있는 질문을 통과 한 후에도이 권리를 얻지 못하는 것 같습니다. 기본적으로 두 개의 라디오 버튼이있을 때만 표시하는 체크 박스가 있습니다. 선택되지 않은체크 박스 조건 일 경우에만 자바 스크립트

<span><strong>Not Available</strong></span> 
<input type="checkbox" placeHolder="" id="available" style="" name="available" required value="Yes"/> 
<span style=" visibility: hidden; " id="BACSSpan">BACS</span><input type="radio" id="BACS" name="paymentSpecified" value="BACS" style="visibility: hidden;"> 
<span style="visibility: hidden;" id="ChequeSpan">Cheque</span> <input type="radio" id="Cheque" name="paymentSpecified" value="Cheque" style=visibility: hidden;"> 

내가 사용한 다음 자바 스크립트 :

$('body').on('click', '#available', function() 
    { 
    if ($('#available:checked')) 
    { 
     $('#BACSSpan').css('visibility','hidden'); 
     $('#BACS').css('visibility','hidden'); 
     $('#ChequeSpan').css('visibility','hidden'); 
     $('#Cheque').css('visibility','hidden'); 
    } else 
    { 
     $('#BACSSpan').css('visibility','visible'); 
     $('#BACS').css('visibility','visible'); 
     $('#ChequeSpan').css('visibility','visible'); 
     $('#Cheque').css('visibility','visible'); 
    } 
    }) 

무엇을해야하는 것은 두 개의 라디오 버튼을 보여주는 사이의 대체이지만, 그것은 아무것도하지 않는,하지만 난의 순서를 반대로하는 경우 조건 즉 내가 원하는 것의 반대; 필요한 기능은 한 번만 발생합니다

+0

시도는 ($ (이) .is는 ('확인'))' –

+0

'$ ('# BACSSpan, #BACS, #ChequeSpan, #Cheque') CSS ('가시'. '숨김');'주제에서 벗어나지 만 주목해야 할 가치가있는 것은 다음과 같습니다 :) – Emissary

답변

3

사실 $('#available:checked')은 bool 값이 아닌 jQuery 객체입니다. 부울 값을 얻으려면 어떻게해야 : 당신은 당신의 코드를 많이 변경하지 않으려면, 당신은 단순히 .length을 추가 할 수 있습니다

if ($(this).is(':checked')) { 
    ... 
} 
else { 
    ... 
} 
+0

고맙습니다.이 코드를 읽고 매력적으로 작동합니다. –

1

. 경우`:

if ($('#available:checked').length) { 
    //Do Something 
} 
관련 문제