通过jquery获取asp.net CheckBox的价值

时间:2014-01-12 20:20:39

标签: javascript jquery asp.net

我正在尝试加载一个隐藏字段,其中包含所有已选中复选框的值列表。除了is(':checked')总是返回false之外,一切正常。有什么想法吗?

            $('.invCheckBox').click(function () {
            var cb = '';
            var i = 0;
            debugger;
            $(".invCheckBox").each(function (index, element) {
                debugger;
                if ($(element).is(':checked')) {
                    alert($(element).attr('invNbr'));
                    if (i == 0) {
                        cb = $(element).attr('invNbr')
                    }
                    else {
                        cb = cb + ',' + $(element).attr('invNbr');
                    };
                    i = i + 1;

                };
            });
            $('MainContent_txtHiddenField').text(cb);
        });

3 个答案:

答案 0 :(得分:1)

这可能是你的帮助:) http://jsfiddle.net/sAyfw/

$('。invCheckBox')。change(function(){

$('.invCheckBox').each(function()
                       {
                           alert($(this).is(':checked'));
                       });
    });

答案 1 :(得分:0)

无论出于何种原因创建CheckBox控件,服务器端都会在span标记中包装输入标记。奇怪的。所以,我改变了代码来创建一个HtmlInputCheckBox,现在jQuery工作得很漂亮。

            Dim divCheckBox As New HtmlGenericControl("div")
        divCheckBox.Attributes.Add("style", "width: 95px; float: left;")
        Dim chkCheckBox As New HtmlInputCheckBox
        chkCheckBox.Attributes.Add("class", "invCheckBox")
        chkCheckBox.Attributes.Add("invNbr", invoice.InvoiceNbr)
        divCheckBox.Controls.Add(chkCheckBox)
        divInvRow.Controls.Add(divCheckBox)

答案 2 :(得分:0)

感谢您提供有关 asp:CheckBox 包装在 span 中的信息。我的 jQuery 总是返回 false,我不知道为什么它不起作用。

我用过这个:

console.log($(this).children(1).is(':checked'));

这与 asp:CheckBox 完美配合。