iCheck jQuery阻止自定义脚本

T_E*_*M_A 9 jquery onclick icheck

我使用"iCheck jQuery"来修改复选框的样式.但是当我添加一个iCheck脚本时 - 我的onlick metod停止工作.为什么会这样?

<input id="my_cb"  type="checkbox" value="yes_n" onclick="hide_row_metod()"/>
    <script>
    $(document).ready(function(){
      $('#my_cb').iCheck({
        checkboxClass: 'icheckbox_square-blue',
        radioClass: 'iradio_square-blue',
        increaseArea: '20%' // optional
      });
    });    
    </script>
Run Code Online (Sandbox Code Playgroud)

我的剧本:

<script>
   function hide_row_metod() {
     if(document.getElementById('my_cb').checked){
        document.getElementById('row1').style.display = "none";
     }else{
            document.getElementById('row1').style.display = "inline";
          }
     }
</script>
Run Code Online (Sandbox Code Playgroud)

Wol*_*ram 24

iCheck注册您可以收听的自定义事件.我在jsbin上设置了一个工作示例,主要区别在于:

$("#my_cb").on("ifChanged", hide_row_metod);
Run Code Online (Sandbox Code Playgroud)

有两个事件:ifCheckedifUnchecked.如果要捕获对复选框的所有更改,您需要同时监听两者或只是听取ifChanged.这将致力于切换行,因为你正在测试checked你的hide_row_metod.

在我的例子中,我使用了一个块元素div#row1,因此inline在检查和取消选中后它将以不同的方式呈现().

另外:你的方法名称中有一个拼写错误(缺失h).