('复选框')。在页面加载时运行的change()

时间:2016-10-06 08:23:27

标签: javascript jquery html checkbox

我正在开发一个项目,我有一个复选框,我想要一个函数在复选框从固定状态变为未选中时运行,反之亦然。

这是复选框:

<input class="form-control main_checkbox_class"
       type="checkbox"
       value="1"
       checked="checked"
       id="main_checkbox_id" >

然后在我的javascript中我有:

jQuery(function($) {
  $('.main_checkbox_class').change(console.log('hello'));
});

然而,当我运行它时,在页面加载'hello'打印到控制台,然后当我选中或取消选中复选框时没有任何反应,我不知道为什么会发生这种情况,任何修复此问题的帮助都会很大赞赏。

2 个答案:

答案 0 :(得分:2)

$(function() {
  $('.main_checkbox_class').change(function() {
    console.log( $(this).is(':checked') );
  });
});

答案 1 :(得分:2)

您需要提供事件处理程序作为函数引用。当您将console.log结果分配给事件处理程序时,您的代码在加载时运行。试试这个:

$('.main_checkbox_class').change(function() {
  console.log('hello');
});