Javascript 我如何知道单击了哪一行?

Javascript 我如何知道单击了哪一行?,javascript,jquery,html,Javascript,Jquery,Html,下午, 假设我有一张这样的桌子 <table id="foo"> <tr><td><!-- label --><!-- textbox --></td><tr> <tr><td><!-- label --><!-- textbox --></td><tr> <tr><td><!-- label is

下午,

假设我有一张这样的桌子

<table id="foo">
  <tr><td><!-- label --><!-- textbox --></td><tr>
  <tr><td><!-- label --><!-- textbox --></td><tr>
  <tr><td><!-- label is bar --><!-- textbox --></td><tr>
  <tr><td><!-- label --><!-- textbox --></td><tr>
  <tr><td><!-- label --><!-- textbox --></td><tr>
</table>

在JQuery中,如何确定修改了文本框的行的索引(关于blur)?因此,如果用户向第三行的文本框(“label is bar”)添加值,我可以提醒行索引(在本例中为2)

我假设我得到表id,在tr上执行each,然后使用子项查找文本框,当该子项激活onblur事件时,我们使用父项输出索引

有什么想法吗


谢谢

误读了问题,编辑了它

$('#foo tr td').click(function() {
    alert($(this).index());
});

误读问题,编辑它

$('#foo tr td').click(function() {
    alert($(this).index());
});
这将
blur
事件附加到具有
type=“text”
的所有
input
元素。您可能希望缩小该选择器的范围,以便仅选择表内的输入

在事件处理函数中,它获取最近的
tr
(即
this
的第一个祖先元素,它是
tr
,并获取该元素的索引)

这是一个在行动中展示它的例子

正如在另一个答案中所指出的,您实际上可能在寻找
change
事件,而不是您在问题中所说的
blur
事件。
change
事件将在输入值实际更改时触发,而不是在失去焦点时触发。如果是这种情况,只需将单词
blur
更改为
change

这将
blur
事件附加到具有
type=“text”
的所有
input
元素。您可能希望缩小该选择器的范围,以便仅选择表内的输入

在事件处理函数中,它获取最近的
tr
(即
this
的第一个祖先元素,它是
tr
,并获取该元素的索引)

这是一个在行动中展示它的例子


正如在另一个答案中所指出的,您实际上可能在寻找
change
事件,而不是您在问题中所说的
blur
事件。
change
事件将在输入值实际更改时触发,而不是在失去焦点时触发。如果是这种情况,只需将单词
blur
更改为
change

您应该为适当的事件添加一个处理程序,例如,为输入字段添加blur或您想要的任何内容,并在处理程序中使用父级(如您所说)查找行(tr)。 e、 g

注意:在我的示例中,我假设所有文本字段都有一个名为testFieldsClass的类,这对于选择器来说更容易。
此外,在我的示例中,我只捕获文本字段的模糊事件。

您应该为输入字段添加适当事件的处理程序,例如模糊或任何您想要的,并在处理程序中使用父级查找行(tr)(如您所说)。
$('#foo tr').click(function(){
   console.log($(this).index());
})
e、 g

注意:在我的示例中,我假设所有文本字段都有一个名为testFieldsClass的类,这对于选择器来说更容易。
另外,在我的示例中,我只捕获文本字段的模糊事件。

修改后的意思是onchange

$('#foo tr').click(function(){
   console.log($(this).index());
})
如果是,您可以:

$("#foo input").change(function(){
  alert($('#foo td').index($(this).parent()));
});

你指的是一次改变

如果是,您可以:

$("#foo input").change(function(){
  alert($('#foo td').index($(this).parent()));
});

我猜这只是问题中的一个输入错误,但您没有关闭
tr
元素。我猜这只是问题中的一个输入错误,但您没有关闭
tr
元素。