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

时间:2017-02-06 04:34:08

标签: javascript jquery

我正在尝试的很简单,但出于某种原因我无法正常工作:

我需要一种基于复选框状态执行不同操作的方法。如果选中,请执行某些操作。如果没有,做其他事情。出于某种原因,我只能“检查”状态:

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

Codepen:http://codepen.io/anon/pen/EZROGa?editors=1010

我错过了什么?

9 个答案:

答案 0 :(得分:2)

试试这个:

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

答案 1 :(得分:1)



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

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="checkbox" id="checkbox1" />
&#13;
&#13;
&#13;

像这样使用

答案 2 :(得分:1)

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

答案 3 :(得分:1)

正确的语法是:

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

答案 4 :(得分:1)

您可以使用.prop() jquery函数。

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

http://api.jquery.com/prop/

答案 5 :(得分:1)

&#13;
&#13;
$('#checkbox1').on('change', function() {
  if ($(this).is(":checked")) {
    console.log('do something')
  } else {
    console.log('do something else')
  }
})
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="checkbox1" name="checkbox1" type="checkbox"><label for="checkbox1">some checkbox</label>
&#13;
&#13;
&#13;

尝试上面的一个。 &#39;这&#39;关键字指向当前的html元素。

答案 6 :(得分:0)

你走了:

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

答案 7 :(得分:0)

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

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

if(check) //Do Something.

答案 8 :(得分:0)

试试这个:

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