我有一个转发器控件,每个单元格中都有一些文本,出价按钮和一个投标金额的文本框。我试图在用户点击同一单元格中的按钮时获取文本框值(出价金额),以便我可以验证出价金额。任何帮助将不胜感激。
这是我的html表格代码:
<table id="values" class="values" border="3">
<tr>
<td align="center" style="white-space:nowrap">
<span class="MainBgContent_UpperRight_Title" style="height:25px;max-height:25px">Your Bid: $
<asp:TextBox ID="tbBid" CssClass="bids" Style="width: 30px" runat="server" Text=''></asp:TextBox>
</span>
<div style="height:10px;clear:both;"></div>
<div class="offer" style="width:100px;height:30px;line-height:20px;">
<asp:Button style="width:100px;height:30px;line-height:20px;" Visible="true" CssClass="btnSubmitBid" ID="lbBid" Text="BID" runat="Server" CommandName="makeBid" ></asp:Button>
</div>
<div style="height:20px;clear:both;"></div>
</td>
</tr>
</table>
我可以通过类名btnSubmitBid获取按钮的id,但只需获取该特定单元格的文本框值。
谢谢
答案 0 :(得分:0)
在单击按钮的javascript函数中,您可以遍历DOM树以查找输入。由于按钮位于单元格中的div中,因此需要获取按钮的parent(div)的父级(单元格)。然后找到第一个child(跨度),以及该跨度的孩子:
var bid = $(this).parent().parent().children()[0].children()[0];
或者您可以使用单元格上的find函数来查找输入:
var bid = $(this).parent().parent().find("input");
或者,使用closest函数,虽然我不确定是否存在很大的性能差异,并且您已经知道了要知道找到单元格需要多长时间的结构:
var bid = $(this).closest('td').find("input");
这个答案假定表中只有输入。如果有多个,则应查找.bids
类,而不是input
的元素类型。