[javascript] jQuery로 확인란이 선택되어 있는지 테스트

확인란을 선택하면 값을 1로 가져와야합니다. 그렇지 않으면 0으로 가져와야합니다. jQuery를 사용하여 어떻게해야합니까?

$("#ans").val() 이 경우 항상 나에게 하나의 권리를 줄 것입니다.

<input type="checkbox" id="ans" value="1" />



답변

사용 .is(':checked')이 확인하고 그에 따라 값이 설정되어 있는지 여부를 결정합니다.

자세한 내용은 여기를 참조하십시오.


답변

$("#ans").attr('checked') 

체크되어 있는지 알려줍니다. 두 번째 매개 변수 true / false를 사용하여 확인란을 선택 / 선택 취소 할 수 있습니다.

$("#ans").attr('checked', true);

의견에 따라 가능한 경우 prop대신 attr사용하십시오. 예 :

$("#ans").prop('checked')


답변

그냥 사용 $(selector).is(':checked')

부울 값을 반환합니다.


답변

// use ternary operators
$("#ans").is(':checked') ? 1 : 0;


답변

Stefan Brinkmann의 답변은 훌륭하지만 초보자에게는 불완전합니다 (변수 할당 생략). 다시 한번 확인하기 위해:

// this structure is called a ternary operator
var cbAns = ( $("#ans").is(':checked') ) ? 1 : 0;

다음과 같이 작동합니다.

 var myVar = ( if test goes here ) ? 'ans if yes' : 'ans if no' ;

예:

var myMath = ( 1 > 2 ) ? 'yes' : 'no' ;
alert( myMath );

경고 ‘아니오’

이것이 도움이된다면 Stefan Brinkmann의 답변을 찬성하십시오.


답변

당신은 이것을 시도 할 수 있습니다 :

$('#studentTypeCheck').is(":checked");


답변

이전에도 동일한 문제를 발견했습니다.이 솔루션이 도움이되기를 바랍니다. 먼저, 체크 박스에 커스텀 속성을 추가하십시오 :

<input type="checkbox" id="ans" value="1" data-unchecked="0" />

가치를 얻으려면 jQuery 확장을 작성하십시오.

$.fn.realVal = function(){
    var $obj = $(this);
    var val = $obj.val();
    var type = $obj.attr('type');
    if (type && type==='checkbox') {
        var un_val = $obj.attr('data-unchecked');
        if (typeof un_val==='undefined') un_val = '';
        return $obj.prop('checked') ? val : un_val;
    } else {
        return val;
    }
};

확인란 값을 얻으려면 코드를 사용하십시오.

$('#ans').realVal();

여기서 테스트 할 수 있습니다