2010-07-05 5 views
1
<input type="checkbox" name="feature1" value="0" /> 

선택하면 값 = "1"; else value = "0"; 업데이트 된 값 : 확인 된 상태

if ($('input[name=feature1]').is(':checked')) { 
    $('input[name=feature1]').val('1'); 
} 

내가 jQuery를 위의이 작동 생각하지만, 그 한 번 체크, 어떻게 내가 체크 박스가/클릭 선택되어 그 때마다 어떻게해야합니까, 값은 다른 1, 0이된다?

많은 감사

답변

1
$('input[name=feature1]').click(function(){ 
    if ($(this).is(':checked')) { 
     $(this).val('1'); 
    } else { 
     $(this).val('0'); 
    } 
}); 

또는

$('input[name=feature1]').click(function(){ 
    if (this.checked) { 
     $(this).val('1'); 
    } else { 
     $(this).val('0'); 
    } 
}); 

또는

훨씬 더

$('input[name=feature1]').click(function(){ 
     $(this).val(this.checked ? 1:0); 
}); 

단지 더 나은 방법은 아직 거기 내가 생각

..

$('input[name=feature1]').click(function(){ 
     this.value = this.checked ? 1:0;  
});​ 
+0

예.하지만 이것은 한 번만 확인하는 것으로 토글이 아닙니다. 아니? – 3zzy

+0

편집을 잡았습니다. – Reigel

+0

굉장하고, 매력처럼 작동합니다. 그냥 여러 요소 $ ('one, two, three') ..와 함께 작동하는지 궁금해 ..? – 3zzy

1

나는이 입력을 ID로 제공하여 jQuery를 작성하기가 더 쉬워졌습니다.이 대답의 목적을 위해 이름이 중복 된 것처럼 가장 할 것입니다.

jQuery("#feature1").click(function() { 
    if (this.checked) { 
     jQuery(this).val(1); 
    } else { 
     jQuery(this).val(0); 
    } 
}); 
+1

하나의 질문입니다 - 왜 당신은 그것에 가치를 설정해야합니까? PHP를 사용하고 있다면 체크 박스가 체크 된 경우에만 값이 전송됩니다. 값을 얻으려면 isset()을 체크해야합니다. –

관련 문제