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