Javascript 使用Jquery获取输入复选框切换状态

Javascript 使用Jquery获取输入复选框切换状态,javascript,jquery,checkbox,Javascript,Jquery,Checkbox,我希望无论何时单击复选框,都会向控制台打印一个值,该值对应于复选框的状态(打开/关闭)。我知道有类似标题的帖子,但我所看到的都没有明确的例子 这是我到目前为止得到的 (打开控制台并单击添加库,JQuery1.8.3): 这仅在加载页面时打印,我希望在单击页面时打印 每当我单击复选框时,此代码段都会切换一个开和关的值,但当切换到开时,该框不再显示勾号符号。收听更改事件 $("#box").change(function(){ console.log(this.checked);

我希望无论何时单击复选框,都会向控制台打印一个值,该值对应于复选框的状态(
打开
/
关闭
)。我知道有类似标题的帖子,但我所看到的都没有明确的例子

这是我到目前为止得到的 (打开
控制台
并单击
添加库
JQuery1.8.3
):

这仅在加载页面时打印,我希望在单击页面时打印


每当我单击复选框时,此代码段都会切换一个开和关的值,但当切换到开时,该框不再显示勾号符号。

收听更改事件

$("#box").change(function(){  
    console.log(this.checked); 
    // console.log( this.checked ? 'on' : 'off' ); 
});

聆听变革事件

$("#box").change(function(){  
    console.log(this.checked); 
    // console.log( this.checked ? 'on' : 'off' ); 
});
您可以这样做:

$('#box').click(function()
{
    if ($('#box').is(':checked')){ 
        console.log("on"); 
    }else{ 
        console.log("off");
    }
});
您可以这样做:

$('#box').click(function()
{
    if ($('#box').is(':checked')){ 
        console.log("on"); 
    }else{ 
        console.log("off");
    }
});

这很简单,您需要在单击事件中使用.val()。代码如下:

$('input[type="checkbox"]').click(function() {
    if( $(this).is(':checked') ) {
        console.log( $(this).val() );
    } else {
        console.log('no');
    }
});

这是一张工作票。希望这有帮助

这很简单,您需要在单击事件中使用.val()。代码如下:

$('input[type="checkbox"]').click(function() {
    if( $(this).is(':checked') ) {
        console.log( $(this).val() );
    } else {
        console.log('no');
    }
});

这是一张工作票。希望这有帮助

为什么要在示例中加载两个版本的jQuery?我甚至不知道这一点。仅解释一下为什么尝试#2不起作用(尽管它应该起作用):jQuery在内部为单击事件调用
event.preventDefault()
。单击复选框的默认操作是切换checked属性。正因为如此,您不应该在希望继续执行默认单击操作的元素(例如链接、提交按钮等)上使用
toggle()
。为什么要在示例中加载两个版本的jQuery?我甚至不知道这一点。只是解释一下为什么尝试#2不起作用(尽管它应该起作用):jQuery在内部调用click事件的
event.preventDefault()
。单击复选框的默认操作是切换checked属性。因此,您不应在要继续执行默认单击操作的元素(例如链接、提交按钮等)上使用
toggle()