사용자가 클릭 할 때 확인란이 선택 취소되었는지 확인하고 싶습니다. 그 이유는 사용자가 확인란의 선택을 취소 할 때 유효성 검사를하고 싶기 때문입니다. 하나 이상의 확인란을 선택해야하기 때문입니다. 따라서 마지막 항목을 선택 취소하면 자동으로 다시 확인됩니다.
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 버그입니까? 나에게 그것은 예상치 못한 행동이기 때문입니다. 둘째, 좋은 대안에 대한 아이디어가 있습니까?
답변
답변
이미 게시 된 답변이 작동합니다. 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');
});
});