1

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

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

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

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

4

5 回答 5

3

利用:focus selector

index = input.index(input.filter(':focus'))
于 2012-06-04T13:09:54.187 回答
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"/>

​</p>

于 2012-06-04T13:13:27.157 回答
1

使用:focus选择器:

index = forma.find(":focus").index();
于 2012-06-04T13:07:10.653 回答
1

$.focus() 选定的元素焦点。相反,您想要选择焦点元素。幸运的是,jQuery 为您提供了:focus.

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

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

于 2012-06-04T13:07:32.473 回答
0

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

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

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

未测试

于 2012-06-04T13:07:34.953 回答