0

我试图知道为什么下面的代码运行错误。我有一个复选框,它会触发一个名为 Uncheck 的函数。但是,如果我快速单击,例如每次单击之间的 0.4 秒或更短时间,我就会失败。我的数组得到了重复的值。

HTML

<input type="checkbox" id="uni2198" name="uni" value="2198" onclick="Uncheck('2198')">

JS

unidadesSelecionadas = {};
function Uncheck(id) {            
    var idSelect = '#uni' + id;

    if ($(idSelect).is(':checked')) {                   
        if ($.inArray(parseInt(id), unidadesSelecionadas) == -1) {
            unidadesSelecionadas.push(id);          
        }
    } else {
        unidadesSelecionadas.splice($.inArray(parseInt(id), unidadesSelecionadas), 1);      
    }
}
4

1 回答 1

0

使用 onchange 而不是 onclick 并查看:

<input type="checkbox" id="uni2198" name="uni" value="2198" onchange="Uncheck('2198')">
于 2013-10-29T11:24:26.580 回答