source

확인란이 선택되지 않은 경우 선택 - jQuery를 클릭합니다.

lovecheck 2023. 8. 20. 11:58
반응형

확인란이 선택되지 않은 경우 선택 - 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!!!
    }
});

하지만 분명히 이것은 효과가 없습니다.저는 차라리 첫 번째 예를 사용하고 싶지 않습니다. 왜냐하면 만약에 하나의 진술만 필요할 때 불필요한 '다른' 진술을 할 것이기 때문입니다.

먼저, 이것은 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');
    });
});

그것은 이렇게 하세요.

if (typeof $(this).attr("checked") == "undefined" )

// To check if checkbox is checked
if( $(this).attr("checked")=="checked")

아래 코드도 작동합니다.

<input type="checkbox" id="check1" /> Check1

$('#check1').change(function() {
    if ($(this).is(":checked") == false)
    {
    alert("Unchecked");
    }
    else
    {
    alert("Checked");
    }    
});

또는

$('#check1').change(function() {
   if ($(this).is(":not(:checked)"))
   {
   alert("Unchecked");
   }    
});

언급URL : https://stackoverflow.com/questions/11159221/check-if-checkbox-is-not-checked-on-click-jquery

반응형