JQuery click事件不适用于asp:Gridview

时间:2016-06-06 16:59:56

标签: c# jquery css asp.net

在aspx文件中,我在更新面板下的asp:面板下有网格视图

ASPX

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
<asp:UpdatePanel ID="UpdatePanel1" runat="server">
<asp:Panel ID="PnlTraveler" runat="server" Visible="false">
<asp:GridView ID="Gridview1" runat="server" ...>
 <Columns>
 <asp:TemplateField ShowHeader="False">
 <ItemTemplate>
 <table border="0" style="width: 100%">
   <asp:Panel ID="pnlVisualAst" runat="server" Visible="false">
   <tr>
     <td style="text-indent: 50px; width: 25%">
      <asp:Label ID="lblVisAst" runat="server" Text="Visual Assitance"></asp:Label>
     </td>
     <td>
      <input id="chkBoxVisAst" type="checkbox" class="checkbox" enableviewstate="true" />
     </td>
     <img alt="" src="Images/Ram_Rebel_Reveal-354-331x220.jpg"/ class="overlay_div" style="display:none">
     </tr>
   </asp:Panel> 
 </table>
 </ItemTemplate>
 <asp:TemplateField
 </Columns> 
</asp:Gridview>
</asp:Panel>
</asp:UpdatePanel>
</asp:Content>

如果我按照以下方式编写JQuery代码

JQUERY

 <script type="text/javascript">

    $(document).on('ready', function ()
    {
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        prm.add_endRequest(function ()
        {
            $('.checkbox').change('click', function ()
            {
                    $('.overlay_div').dialog
                   ({
                       title: "my jquery popup",
                       width: 430,
                       height: 200,
                       modal: true,
                       button:
                           {
                               Close:
                               function () {
                                   $(this).dialog('Close');
                               }
                           }
                   });
            });
        });

    });

如果我在Gridview(GridView1)下使用CSS class =&#39;复选框声明我的复选框,那么在特定类的更改事件上,Jquery会生成与该复选框类关联的所有事件。如果我只想显示一个带有更改事件的弹出窗口,则会显示4个复选框,因为Gridview1应该显示4个具有相同CSS类的复选框=&#39;复选框&#39;

如何在不使用CSS类但仅使用复选框id(chkBoxVisAst)的情况下检测Gridview中每个动态复选框生成的事件?

1 个答案:

答案 0 :(得分:0)

如果我使用这种代码的和平

$('#<%=GridView1.ClientID%>').find('input:checkbox[id$="chkBoxVisAst"]').click(function ()

这部分代码我实际上可以从id

中获取任何控件Gridview