c# - JQuery 单击事件不适用于 asp :Gridview 中的 html 输入(复选框)

标签 c# jquery css asp.net

在 aspx 文件中,我在更新面板下的 asp:panels 下有 GridView

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 = 'checkbox' 声明我的复选框,那么在特定类的更改事件上,Jquery 会生成与该复选框类关联的所有事件。如果我只想显示一个带有更改事件的弹出窗口,它会显示 4 个复选框,因为 Gridview1 应该显示 4 个具有相同 CSS class='checkbox' 的复选框

如何在不使用 CSS 类而仅使用复选框 ID (chkBoxVisAst) 的情况下检测从该 gridview 内的每个动态复选框生成的事件?

最佳答案

如果我使用这段安静的代码

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

这部分代码实际上我可以从 Gridview 中获取任何控件 id

关于c# - JQuery 单击事件不适用于 asp :Gridview 中的 html 输入(复选框),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37663021/

相关文章:

c# - 如何显示日期?

jquery - 如何使用 jQuery 将文本转换为电子邮件链接

javascript - jQuery 获取属性

html - Slim 3 不渲染资源

c# - 在 2008R2 上正确使用 Message Queue

c# - 如何等待 SqlTransaction 提交而不是抛出 SqlException

css - 聊天应用程序的简单 CSS 布局

jquery - Jquery 与常规的 css 属性检查的不同方式

c# - 将 "Promo Code"功能添加到我的 ASP.NET C# 网站

javascript - 悬停效果会产生闪烁