要自动单击该按钮

时间:2014-09-25 10:53:41

标签: javascript jquery asp.net

在下面的代码中我有网格视图,其中我有一个文本框和一个按钮,如果我输入文本框并在离开文本框时它应该自动单击该按钮。请帮助我这样做。

 function js_function() {
            $("#ButtonAdd").trigger("click");
        }


<asp:TemplateField HeaderText="Quantity" ItemStyle-Width="150px">
                                    <ItemTemplate>
                                        <asp:TextBox ID="txtQuantity"  onkeypress="return isNumberKey(event, false);"    runat="server" Height="20px" Width="150px" onblur="js_function();"   > </asp:TextBox>
                                    </ItemTemplate>                                   
                                </asp:TemplateField>


 <asp:TemplateField HeaderText="Remove" HeaderStyle-VerticalAlign="Top" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" FooterStyle-HorizontalAlign="Center">
                                    <ItemTemplate>

                                        <asp:LinkButton ID="lnkdelete" runat="server" CommandName="Delete" OnClientClick="return confirmDelete()" >Delete</asp:LinkButton>
                                    </ItemTemplate>
                                    <FooterTemplate>                                     
                                            <asp:Button ID="ButtonAdd" runat="server"  class="button" Text="Add New" />                                                            
                                   </FooterTemplate>
                                </asp:TemplateField>

3 个答案:

答案 0 :(得分:0)

我猜html中的按钮真实ID不是ButtonAdd,而是ASP生成的更复杂的东西。尝试通过&lt;%= ButtonAdd.ClientID%&gt;

获取按钮真实ID

答案 1 :(得分:0)

如果由于asp按钮而在客户端更改了id,请尝试使用此选择器附加事件 -
$( "input[id*='ButtonAdd']" ).click();

答案 2 :(得分:0)

如果您只有一个按钮,则可以将ClientIDMode =“Static”添加到按钮中,以确保控件的ID不会被母版页名称等污染(如果您有一个可以重复的控件)例如,它将在您提供的ID之前添加$ parentcontrolid_ChildControlId_ChildControlIndex_。 这将为您提供以下按钮代码:

<asp:Button ID="ButtonAdd" runat="server"  class="button" Text="Add New" ClientIDMode="Static"/> 

或者您可以在jquery选择器中添加通配符,以使用以下选择器查找ANYTHING_ButtonAdd:

$('input[id*='ButtonAdd']).click(); 
在大多数情况下,

click()将执行与触发器('click')相同的操作(在您的情况下,它将执行相同的操作:P)
触发器('click')在运行时被称为更快,但click()更易于读/写,因此请使用您最喜欢的那个。