проверить, установлен ли флажок или нет с помощью jquery - PullRequest
7 голосов
/ 27 октября 2010

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

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

Возможно ли это?Как?

Спасибо.

Ответы [ 9 ]

10 голосов
/ 19 июля 2012

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

if($("#checkbox_id").is(':checked'))
10 голосов
/ 27 октября 2010

Во-первых, не используйте 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!");
        }
    });
});
6 голосов
/ 27 октября 2010

Вы можете сделать это следующим образом:

$('#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....
});
3 голосов
/ 19 сентября 2016

Есть несколько вариантов, например ....

1. if($("#ans").is('checked')) 
 2. if($("#ans:checked"))
 3. if($('input:checkbox:checked')) 
1 голос
/ 15 июня 2017

Вы можете сделать это, используя 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....
  });
1 голос
/ 19 октября 2016

Попробуйте:

if(!$('#elementid').is(':checked')){
    alert('Not checked');
}else{
    alert('checked');
}
1 голос
/ 27 октября 2010

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

$(document).ready(function(){
    $('#Public(Web)').click(function(){
        if (this.checked) {
            // do your code here
        }
    });
});
0 голосов
/ 28 мая 2018

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
0 голосов
/ 27 октября 2010

Вот еще один пример, обратите внимание, что вместо использования события 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>
...