【问题标题】:How to get asp:button ID in jQuery如何在 jQuery 中获取 asp:button ID
【发布时间】:2015-02-02 12:22:17
【问题描述】:

我正在制作 .aspx 文件并使用 jQuery 来执行 key press 功能。我做了几个<asp:Imagebutton>所以在jQuery部分写特定的按钮ID。

$(document).keypress(function (e) {
                if (e.which === 13) {
                    $("#ImageSave").click();
                }
            });

我在 aspx 按钮 id 之后写了 $("#ImageSave")。但是 html 中的 asp:button id 与我原来的按钮 id 不同。所以我更改了 jQuery 代码 id 部分。 $("#ImageSave").click();$("#MainContent_ImageSave")。但是它的点击事件没有被触发。

asp.net

<asp:ImageButton ID="ImageSave" runat="server" imageurl="img/button_save.jpg"  
       AutoPostBack="True" onclick="ImageSave_Click" />    

html

<input name="ct100$MainContent$ImageSave" id="MainContent_ImageSave" 
     type="image" src="img/button_save.jpg" autopostback="True"></input>   

我认为这个问题是因为在 jQuery 中使用 asp id 的方式是错误的。如果你能帮我解决这个问题或者至少指出我正确的方向会很好:)

【问题讨论】:

    标签: jquery asp.net input click aspbutton


    【解决方案1】:

    你可以用这个作为id

    <%= ImageSave.ClientID %>
    

    所以而不是这个

     $("#ImageSave").click();
    

    使用

     $("#<%= ImageSave.ClientID %>").click();
    

    或者您可以使用ClientIDMode="Static" 以便id 在运行时不会更改。如果您使用的是 asp.net 4.0 及更高版本。

    <asp:ImageButton ID="ImageSave" runat="server" imageurl="img/button_save.jpg"  
       AutoPostBack="True" onclick="ImageSave_Click" ClientIDMode="Static" />    
    

    【讨论】:

    • 感谢快速澄清的答案!但还是不行。当我按下回车键时,其他按钮 日历 被按下。 &lt;asp:ImageButton ID="Button1" CssClass="calbutton" runat="server" OnClick="Button1_Click" AutoPostBack="True" /&gt;
    • $(document).ready(function () { //上面的代码我写在这里}); 真不知道有什么问题OTL....
    • 不,我没有。我需要吗??
    • 代替这个$("#ImageSave").click();试试$("#ImageSave").trigger("click");它应该可以工作。
    • 我测试了你所有关于click()和触发事件的回复,最后我做错了。有用!但只有日历按钮有效。我认为这取决于按钮的顺序。 calendar button 位于ImageSave 按钮的前面。你知道为什么吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-19
    • 2010-10-01
    相关资源
    最近更新 更多