[jquery] 클릭시 확인란이 선택되어 있지 않은지 확인하십시오-jQuery

사용자가 클릭 할 때 확인란이 선택 취소되었는지 확인하고 싶습니다. 그 이유는 사용자가 확인란의 선택을 취소 할 때 유효성 검사를하고 싶기 때문입니다. 하나 이상의 확인란을 선택해야하기 때문입니다. 따라서 마지막 항목을 선택 취소하면 자동으로 다시 확인됩니다.

jQuery를 사용하면 확인 여부를 쉽게 알 수 있습니다.

$('#check1').click(function() {
    if($(this).is(':checked'))
        alert('checked');
    else
        alert('unchecked');
});

하지만 실제로 확인란이 선택 취소되었는지 확인하는 if 문만 갖고 싶습니다.

그래서 다음 코드로 할 수 있다고 생각했습니다.

$('#check2').click(function() {
    if($(this).not(':checked'))
        alert('unchecked');
    else
        alert('checked');
});

그러나 이것은 항상 ‘확인되지 않음’메시지를 표시합니다. 내가 기대했던 것이 아닙니다 …

데모 : http://jsfiddle.net/tVM5H/

그래서 결국 나는 다음과 같은 것이 필요합니다.

$('#check2').click(function() {
    if($(this).not(':checked')) {
        // Got unchecked, so something!!!
    }
});

그러나 분명히 이것은 작동하지 않습니다. 차라리 첫 번째 예제를 사용하고 싶지 않습니다. 왜냐하면 하나의 ‘if’문만 필요할 때 불필요한 ‘else’문이 있기 때문입니다.

먼저, 이것이 jQuery 버그입니까? 나에게 그것은 예상치 못한 행동이기 때문입니다. 둘째, 좋은 대안에 대한 아이디어가 있습니까?



답변

이 시도:

if(!$(this).is(':checked'))

데모


답변

이미 게시 된 답변이 작동합니다. jQuery를 사용하려면 다음을 수행 할 수 없습니다.

if ($(this).is(':not(:checked)'))

또는

if ($(this).attr('checked') == false)


답변

확인을 위해 jQuery? 정말?

if(!this.checked) {

면도칼로 바주카를 사용하지 마십시오.


답변

$(document).ready(function() {
        $("#check1").click(function() {
            var checked = $(this).is(':checked');
            if (checked) {
                alert('checked');
            } else {
                alert('unchecked');
            }
        });
    });


답변

<script type="text/javascript">

 if(jQuery('input[id=input_id]').is(':checked')){
  // Your Statment
 }else{
  // Your Statment
 }

 OR

 if(jQuery('input[name=input_name]').is(':checked')){
  // Your Statment
 }else{
  // Your Statment
 }

</script>

여기에서 가져온 코드 : http://chandreshrana.blogspot.in/2015/10/how-to-check-if-checkbox-is-checked-or.html


답변

이 질문에 대한 몇 가지 답변을 확인하십시오. 귀하의 질문에 적용될 수 있다고 생각합니다.

요소의 기본 동작 후 클릭 기능을 실행하는 방법

onclick기능 의 브라우저 구현에서 불일치가 발생하고 있다고 생각합니다 . 일부는 이벤트가 시작되기 전과 후에 확인란을 토글하도록 선택합니다.


답변

답변은 이미 게시되었지만 이러한 방식으로 jquery를 사용할 수도 있습니다.

데모

$(function(){
    $('#check1').click(function() {
        if($('#check1').attr('checked'))
            alert('checked');
        else
            alert('unchecked');
    });

    $('#check2').click(function() {
        if(!$('#check2').attr('checked'))
            alert('unchecked');
        else
            alert('checked');
    });
});