在下面的代码中我有网格视图,其中我有一个文本框和一个按钮,如果我输入文本框并在离开文本框时它应该自动单击该按钮。请帮助我这样做。
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>
答案 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()更易于读/写,因此请使用您最喜欢的那个。