проверьте, установлен ли флажок или нет с помощью jquery

Я хочу проверить, установлен ли флажок или нет с помощью jquery. Я хочу проверить его на событии onclick checkbox.

<input type="checkbox" onclick="javascript:check_action();" id="Public(Web)" checked="checked" value="anyone" name="data[anyone]">

это возможно? Как?

спасибо.

9 ответов


во-первых, не используйте javascript: в атрибутах обработчика событий. Это неправильно и работает только потому, что это допустимый синтаксис JavaScript. Во-вторых, ваш id недопустимо. Скобки не допускаются в id атрибут (по крайней мере, в HTML 4; HTML 5 снимает это ограничение). В-третьих, если вы используете jQuery, вероятно, имеет смысл использовать его click() метод обработки click событие, хотя имейте в виду, что изменение его для этого будет означать, что если пользователь нажимает на флажок раньше документ загружен, тогда ваш скрипт не будет обрабатывать его.

<input type="checkbox" id="Public_Web" checked value="anyone"
    name="data[anyone]">

$(document).ready(function() {
    $("#Public_Web").click(function() {
        if (this.checked) {
            alert("Checked!");
        }
    });
});

вы также можете использовать этот

if($("#checkbox_id").is(':checked'))

вы можете сделать такой

$('#checkbox_id').click(function(){
  alert(this.checked);
});

или через is() способ:

$('#checkbox_id').click(function(){
  if ($(this).is(':checked')){
    alert('Checked');
  }
  else{
    alert('Not Checked');
  }
});

если вы хотите сделать это для всех чекбоксов в форме, вы можете использовать :checkbox селектор фильтра такой:

$('#form_id :checkbox').click(function(){
  alert(this.checked);
});

убедитесь, что ваш код упакован в готовый обработчик:

$(function(){
  // code....
});

есть несколько вариантов, таких как....

1. if($("#ans").is('checked')) 
 2. if($("#ans:checked"))
 3. if($('input:checkbox:checked')) 

во-первых, свяжите событие в тегах скрипта, а не в inline. Это намного проще следовать и делает ваш HTML гораздо более читаемым. тогда вы можете использовать селектор jQuery :checked чтобы определить, установлен ли флажок. затем вы можете использовать checked атрибут элемента.

$(document).ready(function(){
    $('#Public(Web)').click(function(){
        if (this.checked) {
            // do your code here
        }
    });
});

Попробуйте Это:

if(!$('#elementid').is(':checked')){
    alert('Not checked');
}else{
    alert('checked');
}

вы можете сделать это с помощью is() способ:

$('##Public_Web').click(function(){
  if ($(this).is(':checked')){
    alert('Checked');
  }
  else{
    alert('Not Checked');
  }
});

если вы хотите сделать это для всех чекбоксов в форме, вы можете использовать :checkbox фильтр селектор:

$('#form_id :checkbox').click(function(){
  alert(this.checked);
});

убедитесь, что ваш код упакован в обработчик документов:

 $(document).ready(function() {
      // code....
  });

вот еще один пример, обратите внимание, что вместо использования события onClick в самом элементе я бы предпочел использовать прослушиватель, но удалите скобки из идентификатора, это даст вам трудное время в некоторых браузерах.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head>
<input type="checkbox" id="PublicWeb" checked="checked" value="anyone" name="data[anyone]" />
<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js'></script>
<script>
$(document).ready(function(){
    $('#PublicWeb').click(function(){
        if($(this).is(':checked')){
            alert("its checked alright");
        }
    });
});
</script>
</head><body></body></html>

HTML-код

 <input type="checkbox" id="chkBox" checked/> Change Check Box

в jQuery

$("#chkBox").change(function() {
     if (this.checked) {
         alert("Checked");
         }
         else {
             alert("Not Checked")
             }
           });

 $("#chkBox").change(function() {
 if (this.checked) {
     alert("Checked");
     }
     else {
         alert("Not Checked")
         }
       });
    
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="chkBox" checked/> Change Check Box