2012-10-03 3 views
0

에 있습니다. 내 체크 박스가 앉아있는 p 태그를 숨기려면 어떻게해야합니까? 여기 p 태그 숨기기 체크 박스는

<p><input type="checkbox" name="qID5[]" class="required" value="232" id="checkbox" /> - Answered NO to question 4 </p> 

체크 박스 자체가 조건에 따라하지만 난 실제로 전체 페이지를 숨길 숨 깁니다 일부 JQuery와있다. 아래의 jQuery에서 체크 상자가 아닌 p를 숨기려면 어떻게해야합니까?

if(value == 184){ 
var $radios = $('input:checkbox[name=qID5[]]'); 
$radios.filter('[value=232]').attr('checked', true); 
$radios.filter('[value=232]').show(); 
}else{ 
var $radios = $('input:checkbox[name=qID5[]]'); 
$radios.filter('[value=232]').attr('checked', false); 
$radios.filter('[value=232]').hide(); 
}} 
+0

언제 p 태그를 숨기시겠습니까? 어떤 버튼을 클릭해도됩니까? – balanv

+0

당신의 진술은 거의 똑같습니다. –

답변

1

동봉 한 <p> 태그를 얻으려면 .parent을 사용하십시오. 아래를 참조하십시오.

if(value == 184){ 
    var $radios = $('input:checkbox[name=qID5[]]'); 
    $radios.filter('[value=232]').attr('checked', true); 
    $radios.filter('[value=232]').parent().show(); 
}else{ 
    var $radios = $('input:checkbox[name=qID5[]]'); 
    $radios.filter('[value=232]').attr('checked', false); 
    $radios.filter('[value=232]').parent().hide(); 
} 
0

당신은이 경우에는 즉시 부모 가장 가까운 페이지 요소를 검색합니다 가장 가까운 ('P') 선택을 사용할 수 있습니다 ..

$(this).closest('p').hide(); 

또는

$radios.filter('[value=232]').closest('p').hide(); // To Hide 

$radios.filter('[value=232]').closest('p').show(); // To Show 

또는

$radios.filter('[value=232]').parent('p').hide(); // To Hide 

$radios.filter('[value=232]').parent('p').show(); // To Show 
1

value == 184은 참 또는 거짓, 그래서 대신에 두 번 같은 코드를 작성하고 차례 발광 필터링에 평가합니다 문, 당신은 설정에 직접 문을 사용할 수 있습니다 참/거짓 :

var $radios = $('input[type="checkbox"][name="qID5[]"][value=232]'); 
$radios.prop('checked', (value == 184)).closest('p').toggle(value == 184); 

또한 대괄호는 의사 선택자보다 바람직하며 prop은 선택 상태를 설정하는 올바른 방법입니다.

관련 문제