jQuery在输入字段中通过keydown获取类的索引

时间:2014-01-12 21:58:45

标签: jquery dom

输入字段由用户在我的脚本中需要动态发生。

例如:

<div class='row'><input class='number' type='text' /><<input class='total' type='text' /></div> 
<div class='row'><input class='number' type='text' /><<input class='total' type='text' /></div> 
<div class='row'><input class='number' type='text' /><<input class='total' type='text' /></div> 

我想知道keyup哪个输入字段被更改并对输入的值执行某些操作。我的想法是通过类索引来做到这一点。

我尝试通过以下脚本获取类索引:

$(document).ready(function(){
   $(".number").keydown(function(){
    alert($(this).index());
    });
});

但是我测试哪个字段,如果我在其他输入字段中输入内容,则显示索引0而不是索引1或2。我做错了什么?

1 个答案:

答案 0 :(得分:2)

不带参数.index返回其兄弟姐妹中元素的索引。 .number元素似乎始终是其父元素的第一个子元素,因此索引始终为0

您可以这样做:

$(this).parent().index();

如果父元素的每个兄弟元素都包含.number元素。

或者首先选择所有.number元素并获取该集合中元素的索引:

var $numbers = $('.number');
// ...
$numbers.index(this);