使用jquery帮助处理事件内部的函数

时间:2011-09-17 20:39:49

标签: jquery asp.net

我有一个CheckBox列表,我想在选中/取消选中复选框时获取所选项目数。

checkCount始终为0.在我看来,当页面加载时,checkCount将被分配,并且再也不会调用getCheckCount函数。为什么这不起作用?如何让事件获得最新的checkCount?谢谢。

   $(function () {
        $('#<%=cblInterests.ClientID%> input').click(function () {
            var checkCount = getCheckCount();
            alert(checkCount);
            return checkCount < 2;
        });
    });        

    function getCheckCount() {
        return $('#<%=cblInterests.ClientID%>').children('input:checked').length;
    }

2 个答案:

答案 0 :(得分:1)

使用.change()事件,而不是.click()事件。

答案 1 :(得分:0)

   $(function () {
        $('#<%=cblInterests.ClientID%>').delegate('input', 'change', function () {
            var checkCount = getCheckCount();
            alert(checkCount);
            return checkCount < 2;
        });
    });        

    function getCheckCount() {
        return $('#<%=cblInterests.ClientID%> input:checked').length;
    }

使用.delegate(或.live)可以动态添加输入。