使用jquery检查是否选中了复选框

gau*_*kum 7 html javascript checkbox jquery checked

我想检查是否使用jquery选中复选框.我想在复选框的onclick事件上查看它.

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

可能吗?怎么样?

谢谢.

Tim*_*own 11

首先,不要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!");
        }
    });
});
Run Code Online (Sandbox Code Playgroud)


Eds*_*ina 10

你也可以用这个

if($("#checkbox_id").is(':checked'))
Run Code Online (Sandbox Code Playgroud)


Sar*_*raz 6

你可以这样做

$('#checkbox_id').click(function(){
  alert(this.checked);
});
Run Code Online (Sandbox Code Playgroud)

或使用is()方法:

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

如果要对表单内的所有复选框执行此操作,可以使用如下所示的:checkbox过滤器选择器:

$('#form_id :checkbox').click(function(){
  alert(this.checked);
});
Run Code Online (Sandbox Code Playgroud)

确保将代码包装在ready处理程序中:

$(function(){
  // code....
});
Run Code Online (Sandbox Code Playgroud)