【问题标题】:not work with JQuery in ASP.NET不适用于 ASP.NET 中的 JQuery
【发布时间】:2018-01-16 17:08:50
【问题描述】:

我有一个复选框

<asp:CheckBox ID="CheckBox2" runat="server" Text="Type of Change"></asp:CheckBox>

和一个正常工作的功能,但是只有警报出现“工作”,但复选框没有更新

function Checks() {
    var value1 = "false"

    if (value1 == "false") {
        alert("Work");
        $("#CheckBox2").prop('checked', true);
    } else {
        alert("False");
    }
}

加载页面时,您可以看到复选框被选中,没有任何问题

$("#CheckBox2").prop('checked', true);

    function Checks() {
        var value1 = "false"

        if (value1 == "false") {
            alert("Work");
        } else {
            alert("False");
        }
    }

我认为输入 if 时应该以某种方式更新复选框

【问题讨论】:

  • $("CheckBox2") 说的是&lt;CheckBox2 /&gt; 元素
  • @epascarello 应该是怎样的?,你是怎么工作出来的?
  • jQuery 选择器......了解它们......您使用的是元素选择器,而不是 id 选择器。 api.jquery.com/category/selectors
  • @epascarello 抱歉,我忘记了 #,但没用
  • 自从我使用 C# 以来已经很长时间了,但它们不会更改服务器端元素的 id。

标签: javascript jquery asp.net checkbox


【解决方案1】:

为了详细说明上面 epascarello 的评论,asp.net 服务器控件的客户端 id 与服务器端 id 不同。
为了使上面的代码工作,像这样使用它:

var checkBoxID = "<%= CheckBox2.ClientID %>" ;  
$("#" + checkBoxID ).prop('checked', true);   

还建议您阅读 Rick Strahl 在A generic way to find ASP.NET ClientIDs with jQuery 上的这篇出色的帖子

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 2021-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-17
    相关资源
    最近更新 更多