【问题标题】:jQuery CheckBox Always Returns FalsejQuery CheckBox 总是返回 False
【发布时间】:2017-03-10 07:50:18
【问题描述】:

我正在尝试从 ASP.NET 页面中选择一个复选框,将值更改为 1:0 并写入 SQL DB。每次我得到复选框的值时,它都会返回为 false。

var checked = $('.CheckBoxOldSealIntact').is(':checked') ? 1 : 0;

总是返回 0

<asp:CheckBox ID="CheckBoxOldSealIntact" runat="server" CssClass="CheckBoxOldSealIntact" />

我也尝试了其他几种方法,包括 .attr()、.prop()、.checked,但每种方法都有不同的问题。我希望这里有一些我只是想念的小东西。

【问题讨论】:

  • 如果你这样做 $('.CheckBoxOldSealIntact').length 会返回什么?
  • n.b.你可以写 ~~$('.checkbox').is(':checked') 来输出 1 或 0
  • 我也尝试过 .is() 并且它总是会以未选中状态返回。当我尝试使用 .length 时,它也会返回为 0。
  • 如果length 为零,则选择器没有找到该元素。javascript 是否在 DOM 准备好之前执行?复选框的 html 输出(不是 asp 标记)是什么样的?
  • 所以$('.CheckBoxOldSealIntact')选择了span,当然不能是:checked。试试$(.CheckBoxOldSealIntact input)

标签: c# jquery sql asp.net


【解决方案1】:

使用以下内容:

var checked= $('#CheckBoxOldSealIntact').is(':checked');

变量“checked”将是一个布尔值。

用适当的值替换选择器(在 ASP.NET 客户端 ID 的情况下,它可能在运行时以不同方式发出。

【讨论】:

  • 如果您要对某个答案投反对票,礼貌的做法是至少提及您认为它没有用的原因。
【解决方案2】:

请您有两种方法来识别复选框是否选中。

  1. 当您使用服务器端控件时,请使用以下语法。

     var checked = $('#<%=CheckBoxOldSealIntact.ClientID%>').is(':checked') ? 1 : 0;
    
  2. 使用 Html 输入复选框。

    <input  type="checkbox" value="Isvalid" checked="checked" id="abcd"/>
    

    html输入复选框的jquery的sytnax:

      var checked = $('#abcd').is(':checked') ? 1 : 0;
    

感谢并享受。

【讨论】:

    猜你喜欢
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2021-11-05
    • 2018-11-05
    相关资源
    最近更新 更多