使用自定义复选框时无法使用“onclick”和“onchange”功能

时间:2016-11-28 11:56:06

标签: javascript jquery html checkbox

当使用自定义checbox(即来自网站http://icheck.fronteed.com/的icheck v1.0.1)时,我无法使用我手动创建的“onclick”和“onchange”功能。我必须使用插件提供的自定义“ifClicked”和“ifChanged”函数。

这是我的代码: -

<!DOCTYPE html>
<html>
<head></head>
<body>
<div id="divchkBox">
  <input type="checkbox" id="extEmailChk" name="custEmailChkBox" onchange="foo()"/><br />

</div>
<script>
    function foo(){
        alert("hi");
    }
</script>
</body>
</html>

但是“foo”函数没有被调用。我必须使用自定义的“ifChanged”函数。

<script>

    $('#divchkBox input').on('ifClicked', function (event) {
         alert("hi");
    });
</script>

我试图以多种方式添加“onclick”,“onchange”功能,但没有任何作用。

实际上,我需要在单击复选框时显示一个确认框,并根据确认值(即,用户是否单击“确定”或“取消”)切换或保留复选框的选中状态。但是因为我正在使用这个插件的自定义回调,即使我在“else”部分中设置了复选框的checked属性为checked / unchecked(即,如果我单击“取消”按钮),在函数结束时调用复选框的值被改变而不是被保留。

以下是我正在使用的代码: -

$('#divchkBox input').on('ifClicked', function (event) {
    var checkbox = document.getElementById("extEmailChk");
    if (checkbox.checked) {
        var result = confirm("Are you sure you DONT want to send email to customer?");
        if (result) {              
            $('#extEmailChk').iCheck('uncheck');               
        }
        else {
            $('#extEmailChk').iCheck('check');
        }
    }
    else {
        var result = confirm("Are you sure you want to send email to customer?");
        if (result) {                
            $('#extEmailChk').iCheck('check');
        }
        else {
            $('#extEmailChk').iCheck('uncheck');
        }
    }
});

当我为复选框的click and change事件创建自定义方法时,我正在实现我想要的功能,但在我使用icheck回调时却没有。

请帮忙......

0 个答案:

没有答案