我使用“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>
我的剧本:
<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>
解决方法
iCheck
注册您可以收听的自定义事件.我提出了
working example on jsbin,主要区别在于:
$("#my_cb").on("ifChanged",hide_row_metod);
有两个事件:ifChecked
and ifUnchecked
.如果要捕获对复选框的所有更改,您需要同时监听两者或只是监听ifChanged.当您在hide_row_metod中检查已检查时,这将切换行.
在我的示例中,我使用块元素div#row1,因此在检查和取消选中后它将以不同的方式呈现(内联).