2013-04-24 49 views
0

我有以下的html:JQuery的nextAll閱讀完所有的輸入字段

<input type="text" id="entry1" value="1" /> 
<input type="text" id="entry2" value="2" /> 
<input type="text" id="entry3" value="3" /> 
<input type="text" id="entry4" value="4" /> 
<input type="text" id="entry5" value="5" /> 
<input type="text" id="entry6" value="6" /> 
<input type="text" id="entry7" value="7" /> 

<input type="button" id="test" value="Test 1" /> 

.. 
$('#test').click(function() { 
    var entrys = $(':text[id != "entry5"]').nextAll(':text'); 
}); 

我希望是,它會只返回entry6,entry7。但我得到的是基本上所有的文本輸入字段 。我究竟做錯了什麼?或者我錯誤地使用了nextAll()?我用entry5作爲例子,但我想要做的只是在某個輸入文本ID後才能獲取字段。所以如果我將它設置爲entry6,只返回entry7。

回答

0

你想用=而不是!=

var entrys = $('input:text[id="entry5"]').nextAll('input:text'); 

然而,Arun's solution在這種情況下更簡單,更合適。

+0

你正確的,固定它。看完代碼後,現在它變得更有意義。謝謝 – adviner 2013-04-24 17:05:22

1

您可以使用id選擇器,因爲您有一個輸入字段的ID。你的問題是你使用!=而不是=

在這種情況下,您不必使用屬性選擇器,因爲您使用的是id作爲屬性,所以您有一個內置的id選擇器。

$('#test').click(function() { 
    var entrys = $('#entry5').nextAll(':text'); 
}); 

演示:Fiddle

+0

這絕對是更清潔。謝謝 – adviner 2013-04-24 17:07:49