Javascript 根据复选框状态执行不同的操作

Javascript 根据复选框状态执行不同的操作,javascript,jquery,Javascript,Jquery,我尝试的很简单,但由于某些原因,我无法让它工作: 我需要一种基于复选框状态执行不同操作的方法。如果检查过了,做点什么。如果没有,那就做点别的。出于某种原因,我只能检查状态: $('#checkbox1').on('change', function() { if ($('#checkbox1:checked')) { console.log('do something') } else { console.log('do something els

我尝试的很简单,但由于某些原因,我无法让它工作:

我需要一种基于复选框状态执行不同操作的方法。如果检查过了,做点什么。如果没有,那就做点别的。出于某种原因,我只能检查状态:

$('#checkbox1').on('change', function() {
    if ($('#checkbox1:checked')) {
        console.log('do something')
    } else {
        console.log('do something else')
    }
});
代码笔:

我错过了什么?

$'checkbox1'。在'change'上,函数{ 如果$'checkbox1'。是否:已选中{ console.log'do something' }否则{ console.log'do other' } } 试试这个:

$('#checkbox1').on('change', function() {
  if($(this).is(':checked'))  // here $(this) refers to $('#checkbox1') 
  {
     // do some thing
  }
  else
  {
     // do some thing
  }
});
给你:

$('#checkbox1').on('change', function() {
  if ($('#checkbox1:checked').length) {
    console.log('do something')
  } else {
    console.log('do something else')
  }
})
正确的语法是:

`$('#checkbox1').on('change', function() {
  if ($('#checkbox1').prop('checked')) {
    console.log('do something')
  } else {
    console.log('do something else')
  }
})`
您可以使用.prop jquery函数

$('#checkbox1').on('change', function() {
  if ($('#checkbox1').prop( "checked" )) {
    console.log('do something')
  } else {
    console.log('do something else')
  }
})

我喜欢采取这种干净的方法

var check = $("#checkbox1:checked").length;

if(check) //Do Something.
$'checkbox1'。在'change'上,函数{ 如果$this.is:已选中{ console.log'do something' }否则{ console.log'do other' } } 一些复选框尝试以下操作:

$('#checkbox1').on('click', function() {
 if ($(this).prop("checked") == true) {
  console.log('do something')
 } else {
  console.log('do something else')
 }
})
if$'checkbox1.is':选中的{if$this.is':选中的{可读性更强
$('#checkbox1').on('click', function() {
 if ($(this).prop("checked") == true) {
  console.log('do something')
 } else {
  console.log('do something else')
 }
})