Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
aspx与html中的Jquery_Jquery_Asp.net_Checkboxlist - Fatal编程技术网

aspx与html中的Jquery

aspx与html中的Jquery,jquery,asp.net,checkboxlist,Jquery,Asp.net,Checkboxlist,我在aspx页面中运行以下Jquery,而不使用母版页。下面是带有脚本的标记。它很好用 <body> <form id="form1" runat="server"> <div> <asp:CheckBox ID="chkAll" runat="server" Text="Check All" /><br /> <asp:CheckBoxList ID="cbList" runat="server">

我在aspx页面中运行以下Jquery,而不使用母版页。下面是带有脚本的标记。它很好用

<body>
<form id="form1" runat="server">
<div>

    <asp:CheckBox ID="chkAll" runat="server" Text="Check All" /><br />

    <asp:CheckBoxList ID="cbList" runat="server">
    </asp:CheckBoxList>

</div>
</form>
这是剧本

<script src="Scripts/jquery-1.7.2.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function () {
        $('#chkAll').click(
         function () {
             $("INPUT[type='checkbox']").attr('checked', $('#chkAll').is(':checked'));
         });
    });    

 </script>
下面是我使用母版页创建的页面的标记。母版页仅在HeadContent占位符的标题中引用jquery文件。不用说,它在母版页场景中不起作用。问题是什么

 <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" Runat="Server">
   The identical script from above is placed here

</asp:Content>
这是占位符内容标记

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" Runat="Server">

<div>

    <asp:CheckBox ID="chkAll" runat="server" Text="Check All" /><br />

    <asp:CheckBoxList ID="cbList" runat="server">
    </asp:CheckBoxList>

</div>
</asp:Content>
当webform控件上有runat=server时,不能使用您为其提供的ID值。ID将更改为类似ctl1_chkAll的内容,脚本将失败。您需要使用以下内容引用他们的客户端id:

$("#<%= chkAll.ClientID %>")

。。。这就是人们不再使用webforms的原因。

这是因为,当我们使用母版页时,页面上呈现的控件ID不同。您应该执行如下操作,以确保代码在这两种情况下都能正常工作

$("[id$='chkAll']").click() { function () {
    $("INPUT[type='checkbox']").attr("checked", $(this).attr("checked"));
});

希望这有帮助

这听起来像是jQuery脚本的相对路径问题,您应该使用web调试器FireBug、IE工具栏等。。。查看脚本是否正在加载。如果您的脚本文件夹位于站点的根目录中,请将脚本src设置为/Scripts/jquery-1.7.2.js。

在控件上使用clientdmode=Static应该允许您按指定的名称引用它

<asp:CheckBox ID="chkAll" runat="server" Text="Check All" ClientIDMode="Static" />

这不是所说的问题,顶部的页面工作得非常好,使用母版的页面则不行。每个页面都有相同的脚本源代码引用Bhamlin、Brenden和Praveen,谢谢。。。所有3种解决方案都有效