gho*_*_mv 17 html javascript jquery html-table
我有一个keydown事件,我用来向表中添加一个空行.但是,如果在光标位于表的最后一行时发生keydown事件,我只希望添加新行.
这是我目前的jQuery事件..glCreditValue是一个输入文本框的类,它位于表行的最后一个TD中.因此,当用户选中该输入时,如果输入所在的TD位于表的最后一行,我想添加一个新行.
由于表数据是动态生成的,因此每行的最终TD都有一个带有.glCreditValue类的输入文本框.
$(".glCreditValue").keydown(function(event) {
var keycode = event.keyCode;
if (keycode == 9) {
//HERE i would like to make sure that i'm in the last row of the table
AddNewRow();
}
});
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用tr:last选择器,但我不确定从哪里开始.
Nic*_*ver 32
有几种方法可以做到这一点,例如,您可以检查.closest()父级<tr>并查看它是否为.is()a :last-child,如下所示:
$(".glCreditValue").keydown(function(event) {
if (event.which == 9 && $(this).closest("tr").is(":last-child")) {
AddNewRow();
}
});
Run Code Online (Sandbox Code Playgroud)
做到这一点,而无需运行选择的开销的一种方法是简单地拿到了.closest()一排,然后去的.next()元素,并测试其.length性能.
0如果你是最后一个将是<tr>.
if( !$(this).closest('tr').next().length ) {
// was the last row
}
Run Code Online (Sandbox Code Playgroud)