【问题标题】:jquery check if asp checkbox is checkedjquery检查是否选中了asp复选框
【发布时间】:2012-07-13 17:53:19
【问题描述】:

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

 <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) {

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

再次感谢

【问题讨论】:

  • 好的。你试过什么?

标签: javascript jquery asp.net


【解决方案1】:
if($("[id$='checkbox_ID']").prop('checked')) //Result: true or false
{
 // your code here
}

【讨论】:

    【解决方案2】:

    在您的复选框中添加一个数据属性并使用 jQuery 提供的“hasClass”函数。如下:

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

    【讨论】:

      【解决方案3】:

      由于它是一个服务器端的复选框,它会在 ASP.NET 处理完控件后将类似&lt;input type="checkbox" class="checkbox" /&gt; 的内容作为 HTML 发送给客户端。

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

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

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

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

      【讨论】:

        【解决方案4】:

        试试……

        if ($('#<%= checkboxRules.ClientID %>').is(':checked')) {
        ...
        }
        

        【讨论】:

          【解决方案5】:

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

          var checked = $(".checkbox").is(':checked')
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2012-06-23
            • 1970-01-01
            • 1970-01-01
            • 2011-01-13
            • 2015-07-05
            • 2010-10-28
            相关资源
            最近更新 更多