2010-06-25 9 views
9

아약스를 통해 상태를 데이터베이스로 다시 보내고 싶은 페이지에 체크 박스가 있습니다. jquery와 아약스 사용하는 방법을 알고 있지만 체크 상태를 얻는 방법을 모르겠다. 확인란을 체크하고 체크하지 않은 상태로 서버에 다시 보낼 수있다.jQuery Ajax 체크 박스 상태

아이디어가 있으십니까?

+0

할 수 있겠습니까? –

답변

18
if ($("#yourCheckboxID").is(":checked")) { 
    // checkbox is checked 
} else { 
    // checkbox is not checked 
} 

이 작업을 수행합니다. 이 같은

+1

잘 작동합니다! 감사. – oshirowanen

0

음이 체크 박스를 쉽게 찾을 충분 :

$(':checkbox').whatever() 

비결은 HTML에 체크 박스 만 을 검사 할 때 의미의 값을 가지고있다. 확인되지 않으면 서버에 무엇을 말합니까?

잘 작동 할 경우 (선택하면 "참", 선택하지 않으면 "거짓") 항상 다음을 결정해야합니다. 서버로 가져 오는 방법입니다. 당신은 매개 변수 문자열로 목록을 설정하기 위해 jQuery를 param 기능을 사용할 수 있습니다 : 당신에게 URL에 압정으로 고정, 또는 $.ajax를 통해 데이터로 전송 될 준비가 문자열을 제공

var params = $.param($(':checkbox').map(function() { 
    return { name: this.id, value: !!this.checked }; 
})); 

합니다.

15

뭔가 : 아인하여 솔루션 및 허용 대답을 결합

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("input:checkbox").change(function() { 
      if($(this).is(":checked")) { 
       $.ajax({ 
        url: 'on_off.aspx', 
        type: 'POST', 
        data: { strID:$(this).attr("id"), strState:"1" } 
       }); 
      } else { 
       $.ajax({ 
        url: 'on_off.aspx', 
        type: 'POST', 
        data: { strID:$(this).attr("id"), strState:"0" } 
       }); 
      } 
     }); 
    }); 
</script> 
8

:

<script type="text/javascript"> 
    $(document).ready(function(){ 
    var isChecked = $("input:checkbox").is(":checked") ? 1:0; 
    $.ajax({ 
      url: 'on_off.aspx', 
      type: 'POST', 
      data: { strID:$("input:checkbox").attr("id"), strState:isChecked } 
    });   
    }); 
</script> 
1

병합 된 솔루션으로 다시 변경 이벤트에 추가. 체크 박스가 변경 될 때마다이 기능을 사용하십시오.

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $("input:checkbox").change(function() { 
      var isChecked = $("input:checkbox").is(":checked") ? 1:0; 
      $.ajax({ 
       url: 'on_off.aspx', 
       type: 'POST', 
       data: { strID:$("input:checkbox").attr("id"), strState:isChecked } 
      });   
     });   
    }); 
</script>