我有一個表,並想要添加一個監聽器來檢測輸入框是否失去焦點。目前,我爲每個輸入框使用.blur函數,但未來可能會添加更多行並希望迎合這一點。添加監聽器到類或元素
JQUERY:
$('#ClaimCapture_LineItems_ctl01_txtCode').blur(function() {
var tariffCode = $('#ClaimCapture_LineItems_ctl01_txtCode').val();
DisbaleControls(tariffCode);
});
更新:
JQUERY:
$("#ListingInfo").delegate("input", "blur", function() {
var tariffCode = $(this).val();
DisbaleControls(tariffCode);
});
HTML:
<TABLE class="Listing" id="ListingInfo" cellSpacing="0" cellPadding="0">
<TR>
<TD id="tdRdd" colSpan="10"><B>
<asp:Literal id="lblRDDQuestion" runat="server"></asp:Literal></B></TD>
</TR>
<TR>
<TD id="tdCat" colSpan="10"><B>
<asp:Literal id="lblCatQuestion" runat="server"></asp:Literal></B></TD>
</TR>
<TR>
<TD colSpan="10"><STRONG>Please enter in your line items:</STRONG>
</TD>
</TR>
<asp:Repeater id="LineItems" Runat="server">
<HeaderTemplate>
<tr class="Header">
<td width="28">#</td>
<td width="30">Qty</td>
<td width="60">Tariff</td>
<td width="170" align="left">Description</td>
<td width="78">ICD Codes</td>
<td width="68" align="right">Invoice</td>
<td width="68" align="right">Medical</td>
<td width="68" align="right">Patient</td>
<td width="68" align="right">Discount</td>
<td width="50">Rej #</td>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr class="Normal">
<td><%# DataBinder.Eval(Container.DataItem, "Number") %></td>
<td>
<asp:TextBox ID="txtQuantity" Runat="server" Width="13px" MaxLength="2" onChange="jsCheckQuantities(this)" Text='<%# DataBinder.Eval(Container.DataItem, "Quantity") %>' /></td>
<td>
<asp:TextBox ID="txtCode" Runat="server" Width="40px" MaxLength="8" onChange="jsCheckCodes(this,ClaimCapture_txtTariffs,ClaimCapture_txtLaboratory,ClaimCapture_txtNVSTag);" Text='<%# DataBinder.Eval(Container.DataItem, "Code") %>' /></td>
<td>
<asp:TextBox ID="txtDescription" Runat="server" Width="162px" MaxLength="64" Text='<%# DataBinder.Eval(Container.DataItem, "Description") %>' /></td>
<td>
<asp:TextBox ID="txtDiagnosticCodes" Runat="server" Width="72px" MaxLength="64" Text='<%# DataBinder.Eval(Container.DataItem, "DiagnosticCodes") %>' /></td>
<td>
<asp:TextBox ID="txtInvoice" Runat="server" Width="49px" MaxLength="10" CssClass="Amount" onChange="jsFormatAmount(this);" onKeyPress1="return(jsAmountSizeCheck(this, 8));" Text='<%# CurrencySymbol & FormatNumber(DataBinder.Eval(Container.DataItem, "Invoice"), 2) %>' /></td>
<td align="right"><script>getCurrency()</script><%# FormatNumber(DataBinder.Eval(Container.DataItem, "Medical"), 2) %></td>
<td align="right"><script>getCurrency()</script><%# FormatNumber(DataBinder.Eval(Container.DataItem, "Patient"), 2) %></td>
<td>
<asp:TextBox ID="txtDiscount" Runat="server" Width="49px" MaxLength="10" CssClass="Amount" onChange="jsFormatAmount(this);" Text='<%# CurrencySymbol & FormatNumber(DataBinder.Eval(Container.DataItem, "Discount"), 2) %>'/></td>
<td><%# FormatNull(DataBinder.Eval(Container.DataItem, "RejectionCodes")) %></td>
</tr>
</ItemTemplate>
</asp:Repeater>
<TR class="Footer">
<TD align="left" colSpan="5">
<asp:LinkButton id="CreateLineItem" Runat="server" Text="Create New Line Item" CommandName="Create"></asp:LinkButton></TD>
<TD align="left">
<INPUT id="txtInvoiceTotal" size="7" value="0.00" name="txtInvoiceTotal">
</TD>
<TD align="right" colSpan="3">NVS Tag</TD>
<TD>
<asp:TextBox id="txtNVSTag" Runat="server" MaxLength="36" Width="40px" Enabled="False"></asp:TextBox>
</TD>
</TR>
</TABLE>
使用jquery 1.6.2,這仍然不能解決我的問題。我想把聽衆放在ItemTemplate中的texbox上
任何幫助,將不勝感激。
看到更新問題 – Gericke
@ G-Man我更新了我的答案 – SridharVenkat
謝謝我修正了引用,我確實檢查了元素,並且需要添加偵聽器到id =「txtCode」,這是我檢查元素時得到的id ClaimCapture_LineItems_ctl01_txtCode – Gericke