为什么我的复选框没有与我的jQuery连接?

时间:2014-06-19 21:39:51

标签: javascript jquery html dom

我真的不明白为什么点击我的复选框也没有提示我的JS。我将编写代码并深入解释发生的事情。

这是我的标题(以防我链接错误的文件):

<head>
     <link rel='stylesheet' href='reset.css'/>
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
     <link rel='stylesheet' href='Vector Add.css'/>
     <script src='Vector Add.js'></script>
</head>

这是复选框本身:

<div id='gridButton'>
    <form>
        <input type="checkbox" id="gridCheck" value="showGrid"> Show Grid
    </form>
</div>

这是表格的第一行代码(表格很大,链接所有额外代码的确没有价值):

<table id="gridTable" style="position:absolute">

这是JS:

$(document).ready(function(){
    if($('#gridCheck').is(':checked')===true){
        $('#gridTable').show('fast');
    } else {
        $('#gridTable').hide('fast');
    };
});

基本上我有这个图表,我希望用户能够在他们点击&#34;显示网格&#34;时生成网格。复选框,并且在未选中复选框时将其消失。但由于某种原因,它无法正常工作。没有错误,但是当我启动开发工具时,它表明JS没有意识到按钮是否被点击。我不知道该做什么,因为我在过去的几个小时里一直在努力解决这个问题,似乎没什么用。请帮忙!提前谢谢!

2 个答案:

答案 0 :(得分:3)

您需要将click事件绑定到复选框,以便在每次开启和关闭时触​​发它。

$(document).ready(function(){
   $('#gridCheck').on('click', function(){    
      if ($(this).is(':checked')){
         $('#gridTable').show('fast');
      } else {
         $('#gridTable').hide('fast');
      }
   });
});

答案 1 :(得分:3)

为什么在您可以观看change时观看点击次数?

$(document).ready(function(){
    $('#gridCheck').on('change', function(){
        $('#gridTable').fadeToggle("fast");
    });
});

首先,如果网格将在页面加载时显示,则将复选框默认为CHECKED:

<input type="checkbox" id="gridCheck" value="showGrid" checked/> Show Grid