Ответ 1
Попробуйте следующее:
if(!$(this).is(':checked'))
Я хочу проверить, не снят ли флажок, когда пользователь нажимает на него. Причина этого в том, что я хочу сделать проверку, когда пользователь отключает флажок. Потому что по крайней мере один флажок должен быть проверен. Поэтому, если он отключает последний, он автоматически проверяет себя снова.
С 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');
});
Но это всегда будет показывать сообщение "unchecked". Не совсем то, чего я ожидал...
demo: http://jsfiddle.net/tVM5H/
Итак, мне нужно что-то вроде:
$('#check2').click(function() {
if($(this).not(':checked')) {
// Got unchecked, so something!!!
}
});
Но, очевидно, это не сработает. Я скорее не хочу использовать первый пример, потому что тогда у меня будет ненужное выражение "else", когда мне нужен только оператор "if".
Итак, первое, что это ошибка 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")