0

我在 ASP.NET webforms 中使用这个 jquery 代码来检查复选框的值,然后打开或关闭 div。这没用...

$(document).ready(function () 
{
    $('#checkboxOperator2').click(function () 
    {
        if ($(this).is(':checked')) 
        {
            $('#showOperator2').show();
        } 
        else 
        {
            $('#showOperator2').hide();
        }

        alert("Click");
    });
});

我像这样引用jquery:

<asp:ScriptManager id="sm1" runat="server">
    <Scripts>
        <asp:ScriptReference Path="~/Scripts/jquery-2.0.3.js" />
    </Scripts>
</asp:ScriptManager>

我的代码不正确吗?我没有收到任何错误。

这是我的标记:

<asp:CheckBox ID="checkboxOperator2" Checked='<%# Bind("SecondaryOperator") %>' runat="server" Style="position:absolute; top: 161px; left: 650px;" />

        <div id="showOperator2" style="visibility:hidden";>
        <asp:Label ID="Label4" runat="server" Text="Secondary Operator" Style="position:absolute; top: 161px; left: 500px; width: 200px;"></asp:Label>
        <asp:DropDownList ID="dropdownOperator2" runat="server" Style="position:absolute; top: 161px; left:650px; width: 200px;"
            Text='<%# Bind("SecondaryOperatorID") %>' AppendDataboundItems="true" DataSourceID="OperatorDS" DataTextField="OperatorName" DataValueField="ID" >
            <asp:ListItem text="None" Value="" />
            </asp:DropDownList>
        </div>
4

2 回答 2

1

将事件添加到 ASP.Net 控件(或任何 DOM 元素,我猜)以添加事件的最简洁方法CssClass

<asp:CheckBox ID="checkboxOperator2" CssClass="checkboxOperator2" Checked='<%# Bind("SecondaryOperator") %>' runat="server" Style="position:absolute; top: 161px; left: 650px;" />

事件处理

$('.checkboxOperator2').click(function ()
于 2013-10-23T17:43:46.183 回答
1

在没有看到您的标记的情况下,我的猜测是您需要ClientID在选择器中获取 ASP.NET 复选框控件,如下所示:

$('#<%= checkboxOperator2.ClientID %>').click(function ()

当您在命名容器(即母版页中的内容占位符)中有 ASP.NET 控件时,它会在呈现时按控件的层次结构命名控件,因此您最终会得到如下元素名称:

ctl00$body$checkboxOperator2

由于您的 jQuery 选择器只是在寻找checkboxOperator2,因此它不匹配并且不处理 click 事件。

更新:

如果您不喜欢这种ClientID方法,则可以class通过标记本身或在代码隐藏中将属性应用于 ASP.NET 控件,如下所示:

标记:

<asp:CheckBox ID="checkboxOperator2" Checked='<%# Bind("SecondaryOperator") %>' 
              runat="server" class="checkboxOperator" 
              Style="position:absolute; top: 161px; left: 650px;" />

代码隐藏:

this.checkboxOperator2.CssClass = "checkboxOperator";

现在你的 jQuery 选择器可以这么简单:

$('.checkboxOperator').click(function () 
于 2013-10-23T17:36:54.157 回答