本文介绍了Html checkBox onchange不工作的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

<input class="jProblemClass" id="Checkbox{%= ID %}" type="checkbox" onchange="problemPicker.onChangeProblemCheckBox('{%=ID %}');"/>

第一次检查或取消选中后,不会发生任何操作。 Afetr第二次点击,调用我的函数 problemPicker.onChangeProblemCheckBox ,但我得到ID首先检查。为什么?可以帮我任何人吗?

After first check or uncheck nothing happens. Afetr second click, call my function problemPicker.onChangeProblemCheckBox, but i get ID first check. Why? Can help me anybody?

onChangeProblemCheckBox: function(id) {
    if ($('#CheckBox' + id).attr("checked") == true) {
        problemPicker.addToCheckProblems(id);

        var checkboxes = $('.jProblemClass:checked');

        if ((checkboxes.length > general.limit) && (general.limit != 0)) {
            alert('The limit of ' + general.limit + ' problems exceeded. Please deselect ' + (checkboxes.length - general.limit).toString() + '.');
        }
    } else {
        problemPicker.delFromCheckProblems(id);
    }
},


推荐答案

Bro使用onclick事件而不是onchange ..
原因...
根据我读过的Javascript引用,onchange在
焦点丢失后触发。除非你点击别的地方,焦点不会丢失在IE。
其他浏览器不能等待焦点丢失之前
触发onchange - 这表明他们没有正确地遵循规范
(尽管在这一点上更有意义) 。如何使用
onclick和onkeydown / onkeyup(通过使用onclick和
onkeyup / onkeydown你覆盖了鼠标和键盘设置的
复选框)。
REFERENCE:

这篇关于Html checkBox onchange不工作的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-02 13:39