我正在尝试加载一个隐藏字段,其中包含所有已选中复选框的值列表。除了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);
});
答案 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 完美配合。