2012-05-30 3 views
0

내 상황에서 체크 된 체크 박스와 체크되지 않은 체크 박스를 구분하지 않는 이유로 jQuery 코드에 문제가있다. 첫 번째 계정에서 광고를 인식합니다 (예 : 선택 해제 된 경우 사실 확인되지 않았습니다). 그러나 그 다음에 선택을 해제하면 여전히 선택되지 않았다고 생각합니다. 이 옵션을 선택하면 http://jsfiddle.net/3BZp4/1/체크 박스 값을 인식하는 jQuery 문제가 있습니까?

, 그것은 두 번째 테이블에 행을 복사합니다,하지만 당신은 선택을 취소 할 때 선택에도 불구하고 두 번째 테이블에 동일한 행, 여전히 사본은 선택 해제를 요구하는 것이 :

당신은 여기에서 볼 수 있습니다 행.

$('#one tbody tr td input.checkbox:not(:checked)').on('change', function (e) 
{ }); 

답변

1

이 같은 뭔가를 시도 할 수 있습니다 :

$(':checkbox').on('change', function() { 
    if(this.checked) { 
    // do if checked 
    } else { 
    // do if not checked 
    } 
}); 

귀하의 전체 코드 것이다 :

$('#one tbody tr td input.checkbox').on('change', function(e) { 
    if (this.checked) { 
     var row = $(this).closest('tr').html(); 
     $('#two tbody').append('<tr>' + row + '</tr>'); 
    } 
}); 

확인이 DEMO

+0

@danrhul 데모를 확인하십시오. 당신이 그걸 확인했으면 좋겠다고 생각합니다. – thecodeparadox

+1

그것을 확인했지만 여전히 동일한 문제가 있습니다. 첫 번째 테이블의 행을 검사하여 두 번째 테이블에 행을 복사합니다 (원하는 경우). 그러나 같은 행을 선택 취소하면 여전히 두 번째 테이블에 행이 복사됩니다. – ediblecode

+0

OK, 데모에서는 작동하지 않지만 실제 작업에 적용한 후 고맙습니다. D – ediblecode

2

그것은 당신이 구속했다고처럼 보이는 현재 작동하지 않는 모든 입력 상자에 기능 추가 cked. 이 기능은 그 이후의 상태에 관계없이 항상 해당 확인란에 바인딩됩니다. thecodeparadox가 한 것과 거의 같은 바운드 함수의 일부로 확인 된 상태를 확인해야합니다.

1

작업 데모http://api.jquery.com/not-selector/

내가 놓친 경우 알려 주시기 바랍니다, 이것은 도움이되기를 바랍니다 당신이 http://jsfiddle.net/gvDGS/2/

API 찾고있는 무슨이입니다!

코드 // 체크되지 않은 모든 항목에 체크하고 체크 박스가 선택되어 있는지 확인합니다.

$('input[type=checkbox]:not(:checked)').on('change', function() { 

    if($(this).is(':checked')){ 
     var row = $(this).closest('tr').html(); 
     $('#two tbody').append('<tr>' + row + '</tr>'); 
    } 
});