我在gridview行中选择一个文本框。 我知道gridview是一个html表。 我怎样才能知道文本框所在的td是否是jQuery表中tr的最后一个td?
<asp:GridView runat="server">
<Columns>
<asp:TemplateField HeaderText="Standardpreis">
<ItemTemplate>
<asp:TextBox runat="server" ID="valueTxt"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</Columns>
答案 0 :(得分:1)
对于子元素
的事件,这样的事情var $that = $(this),
$td = $that.closest('td'),
trChildrenCount = $td.parent().children().length,
tdBeforeLast = trChildrenCount - 1,
tdIndex = $td.index() + 1; // get 1-based index
if (tdBeforeLast === tdIndex) {
console.log('next to last td');
// do stuff...
}
答案 1 :(得分:1)
<script type="text/javascript">
$(function () {
var $td = $("#second"); // swap this to #first to test
if ($td.index() === $td.siblings().length - 1) {
console.log("2nd last");
} else {
console.log("not 2nd last");
}
});
</script>
<table>
<tr>
<td id="first">first</td>
<td id="second">second</td>
<td id="third">third</td>
</tr>
</table>
在您的示例中,如果您正在寻找特定的文本框,最简单的方法是将CssClass放在文本框中,并查找其父文件。在这种情况下,$ td的选择器如下所示:
var $td = $(".someTextBoxClass").closest("td");
答案 2 :(得分:0)
你可以这样做:
var td = $(selector); // The 'td' you want
var tdLength = td.closest('tr').children('td').length; // Get the number of tds in the tr
if(td.index()+1 == tdLength-1){ // Is it second to last (.index() is zero-based)
}
答案 3 :(得分:0)
<强>的JavaScript 强>
$('#test td').click(function(){
var lng = $('td', $(this).parent().parent()).size();
var myIndex = $('td', $(this).parent().parent()).index(this);
if(lng-1 == myIndex+1)
console.log('next to the last');
});
<强> HTML 强>
<table id="test">
<tbody><tr><td>First Row</td></tr>
<tr><td>Middle Row</td></tr>
<tr><td>Last Row</td></tr>
</tbody></table>