2012-03-09 42 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的)。