9

大家好,我有一个复选框,我想在回发发生之前检查它是否在客户端被选中。这是复选框:

 <asp:CheckBox runat="server" CssClass="checkbox" Checked="true" ID="checkboxRules" />

提前致谢, Laziale

更新:问题是页面上也有一个由 js 代码触发的按钮,也许我可以在那里添加一行以检查单击按钮后是否选中了复选框,否则显示未选中复选框的消息:

函数 enterClick() { $('#SUBMIT').click(); }

var ishown = false;
$(document).ready(function () {
    $('#BUTTON').click(function (e) {

//我想把复选框逻辑放在这里

再次感谢

4

5 回答 5

11

尝试...

if ($('#<%= checkboxRules.ClientID %>').is(':checked')) {
...
}
于 2012-07-13T20:37:23.290 回答
4

由于它是一个服务器端的复选框,它会在 ASP.NET 处理完控件后向客户端发送类似于<input type="checkbox" class="checkbox" />HTML 的内容。

复选框的 id 不会是 checkboxRules,因为您在源代码中拥有它。ASP.NET 将连接服务器端表单 id + 母版页 id(如果使用母版页)+ checkboxRules,所以在这种情况下,我不会使用依赖于元素 id 的选择器。

我们可以使 jQuery 选择器尽可能地窄,只选择具有“复选框”类型和 CSS 类“复选框”的输入。

$('input[type=checkbox] .checkbox').attr('checked')

将返回输入检查状态的布尔值。这将在页面上找到带有该 CSS 类的复选框的任何输入。

于 2012-07-13T20:38:33.953 回答
3

假设您的复选框是页面上唯一具有复选框类的项目:

var checked = $(".checkbox").is(':checked')
于 2012-07-13T20:35:59.310 回答
0
if($("[id$='checkbox_ID']").prop('checked')) //Result: true or false
{
 // your code here
}
于 2020-08-16T17:37:43.380 回答
0

将数据属性添加到您的复选框并使用 jQuery 提供的“hasClass”函数。如下所示:

var isChecked = $('[data-checkbox]').hasClass('checkbox-selected');
<asp:CheckBox data-checkbox="" Text="Some Caption" runat="server" />

于 2016-11-04T10:24:53.687 回答