2010-07-29 3 views
14

이봐, 내가 체크하면 체크 박스의 ID를 얻는 방법을 궁금해.체크 박스의 ID를 가져 옵니까? - jQuery

<div class="check_filter"> 

    <div id="filter"> 
     <input type="checkbox" id="check1" /><label for="check1">Marketing</label> 
     <input type="checkbox" id="check2" /><label for="check2">Automotive</label> 
     <input type="checkbox" id="check3" /><label for="check3">Sports</label> 
    </div> 

</div><!-- End check_filter --> 

을 내가 jQuery를 이런 식으로 뭔가 보일 것 있으리라 믿고있어 :

$(document).ready(function() {  
    $(":checkbox").click(function(){ 
     var id = $(this).attr('id'); 

     $.post("index.php", { id: id }); 
     //return false to ensure the page doesn't refresh 
     return false; 
    });  
}); 

내가 체크 얻으려고을

이 내 HTML은 아마 처음과 같을 것이다 것입니다 item id를 입력하고 그 id를 mysql 쿼리에 게시하여 데이터베이스에서 id 결과를 가져온다.

감사합니다.

+1

나는'check' 이벤트 대신'change' 이벤트를 사용할 것입니다. 그렇지 않으면 코드가 제대로 작동하는 것처럼 보입니다. 당신은 그것을 시도하고 그것을 발견하지 못했습니까? –

답변

15

을 당신은 아마 이런 식으로, 여기에 change 이벤트를 원하는 :

또한 체크 박스 이 (가 클릭 된 아닌 것을) 체크되어 있는지 확인 할 수 있습니다
$(function() { 
    $(":checkbox").change(function(){ 
    $.post("index.php", { id: this.id, checked: this.checked }); 
    });  
}); 

이 확인란은 변경 될 때마다 게시되며 PHP 쪽에서 ID를 확인하고 선택 여부를 알려줍니다.

+0

'this.id' 등 +1하지만'click'을'change'로 변경하는 것을 잊었습니다 (코드에서). : o) 편집 : 수정되었습니다. – user113716

+0

@patrick - Wops, Fixed, @Generic - 여기에서 테스트해볼 수 있습니다 : http://jsfiddle.net/nick_craver/zM4md/ 스페이스 바 등에서 작동합니다. –

+0

내가 코멘트를 작성한 후에 예제를 만들었습니다. 죄송합니다, 작년에 수정 된 것 같습니다. – GenericTypeTea

7

제공하신 jQuery가 정상적으로 작동합니까? return false에서 까지 표시 표시가 선택되어 있는지 확인하십시오.

편집 : $.post()은 비동기 요청 (AJAX 기술)이므로 페이지 새로 고침이 없습니다.

편집 2 :

$(document).ready(function() {  
    $(":checkbox").click(function(){ 
     var id = $(this).attr('id'); 
     var isChecked = $(this).attr('checked')); 
     $.post("index.php", { id: id, isChecked: isChecked }); 
    });  
}); 
1

게시물 대신 jQuery get을 사용할 수 있습니다. http://api.jquery.com/jQuery.get/

예 : 그것은 당신이 당신의 요구의 출력을 처리 할 수 ​​있습니다 값에 액세스하기 위해

$(document).ready(function() {  
    $(':checkbox').click(function(){ 
     var id = $(this).attr('id'); 
     var isChecked = $(this).attr('checked')); 
     $.get(
      'getcheckbox.php', 
      { id: id, isChecked: isChecked }, 
      function(data) { 
      //return value in getcheckbox.php and use it in on complete function 
      var result = data; 
      } 
     ); 
    });  
}); 
0

왜 난 단지 체크 박스의 이름이 필요 없지만, $ (이)

$('input:checkbox').change(function() { 
     console.log("here i am: " + this.name + " value = " + $(this).val()); 
     } 
    ); 
2

당신과 같이 DOM 요소의 특성을 :checkbox 선택기를 사용하고 id을 확인하고 점검 할 수 있습니다

var id = $(this).find(":checkbox")[0].id; var isChecked = $(this).find(":checkbox")[0].checked;

관련 문제