JQuery Checkbox click事件永远不会返回true

时间:2015-08-28 23:19:08

标签: jquery internet-explorer checkbox

我似乎无法想象出这么简单的事情。我在IE 11中使用jQuery 1.4.2(虽然我尝试过更高版本)但是当值应为true时,我似乎无法检索已检查的值。

    <input id="<%=ID%>" class="abcdeCheckBox" type="checkbox" value="<%=ID%>" />
var cachedCheckedValues = new Array();
$('.abcdeCheckBox').bind('click', function()    
    {
        alert(this.checked);
        var indexCheck = cachedCheckedValues.indexOf(this.value);

        if(this.checked)
        {
            if(indexCheck == -1)
            {
                cachedCheckedValues.push(this.value);   
            }
        }
        else
        {
            cachedCheckedValues.splice(indexCheck, 1);
            alert("removing: " + this.value);
        }
    });

这永远不会回归,我无法理解为什么。它永远不会将值添加到代码中的数组中。

1 个答案:

答案 0 :(得分:0)

我在你的代码中注意到你在向它添加内容之前从未声明过该数组。 jsfiddle链接:https://jsfiddle.net/larryjoelane/t3f9xbu5/

//declare array 
var cachedCheckedValues = [];


$('.abcdeCheckBox').bind('click', function()    
    {


        alert(this.checked);

        var indexCheck = cachedCheckedValues.indexOf(this.value);

        if(this.checked)
        {
            if(indexCheck == -1)
            {
                cachedCheckedValues.push(this.value);   
            }
        }
        else
        {
            cachedCheckedValues.splice(indexCheck, 1);
            alert("removing: " + this.value);
        }
    });