2012-03-09 46 views
0

我想在输入“模糊”之后获取输入值和位置。在输入列表中获取当前位置

<span id="blah"> 
    <input type="text">a</input>   
    <input type="text">b</input>   
    <input type="text">c</input>   
    <input type="text">d</input> 
    ... 
</span> 

$('span input:text').live('blur', function(){ 

    var value = $(this).val(); 
} 

因此,如果他们模糊的c我需要它返回值'c'和位置'3'列表中。

我不能改变HTML和输入的数量可能会增加。

+0

是否有一个特定的原因,输入被写入' a''而不是''?只是这会显着改变答案。 – 2012-03-09 01:25:48

+0

你能否指定你正在使用哪个版本的jQuery?版本1.7改变了一些事情。 – 2012-03-09 01:28:05

回答

1

使用index()方法获取位置。可以告诉你如何得到它,但是没有什么问题来定义“列表” http://api.jquery.com/index/

你输入HTML无效

<input type="text" value="b" /> 


$('span input:text').live('blur', function(){ 
    var position=$(this).index()+1;/* index is zero based*/ 
    var value = $(this).val(); 
}) 
+0

ug,打我几秒钟:-) – Patches 2012-03-09 01:25:39

0

内,您的模糊功能,你可以这样做:

MyFunction($(this).val(), $(this).index()); 

其中MyFunction是您要传递数据的函数,第一个参数是该文本框的值(在您的示例中为“c”),第二个参数是相对于它的兄弟的索引( “3”在你的例子中,或者说“2”,因为它基于0的)。