JQuery找到焦点输入的索引

时间:2012-06-04 13:04:50

标签: javascript jquery

如何找到焦点输入字段的索引?现在我有这个代码:

var forma = $('form#mali_oglas'),
    pomoc = $('div[role=pomoc]'),    
    input = forma.find('input[type!=hidden], textarea');

    index = input.focus().index();
    console.log(index);

我得到的只是表格中的输入元素数量(目前为15)。

5 个答案:

答案 0 :(得分:3)

使用:focus selector

index = input.index(input.filter(':focus'))

答案 1 :(得分:2)

http://jsfiddle.net/iambriansreed/QyUHv/

的jQuery

var f = $('form');
f.click(function(){    
    $('#index').val($(':input:focus',f).index());    
});​

HTML

<form>    
<input value="hello"/><br/>
<textarea></textarea><br/>
<input/><br/>
<input/><br/>
<select><option>Option</option></select><br/>
<input/><br/>
</form><br/><br/>
Field Index with focus:
<input id="index"/>

答案 2 :(得分:1)

使用:focus选择器:

index = forma.find(":focus").index();

答案 3 :(得分:1)

$.focus() 提供所选的元素焦点。相反,您希望选择聚焦元素。幸运的是,jQuery让你了解:focus

var input = forma.find('input:focus, textarea:focus');
var index = input.index();
console.log(index);

注意:我删除了[type!=hidden]选择器,因为隐藏的输入字段永远不会有焦点。

答案 4 :(得分:0)

您应该能够使用伪类来查找具有焦点的元素。

input = forma.find('input:focus, textarea:focus');

http://www.w3schools.com/cssref/sel_focus.asp

未经测试