2012-08-27 112 views
0

我有一個列表如下:的jQuery遍歷列表

<ul> 
    <li>Coffee</li> 
    <li>Tea</li> 
    <li>Milk</li> 
</ul> 

我有一個文本框,其輸入的數值我得到一個名爲get變量。現在,我想使用jQuery來遍歷這個列表,並且想要比較get的值和列表的匹配值。如果它們匹配,我必須將它們打印在標籤中。

+3

我看不到jQuery代碼。請發佈你到目前爲止。 –

+0

打印什麼標籤? –

回答

0

嘗試

var getsValue = $.trim($("#getId").val()); 
var matchedList = []; 
$("ul > li").each(function() { 
    if(getsValue == $(this).text().substr(0,1)) { //check first character 
    //found -- do something 
    //add to matched list array 
    matchedList.push($(this).text()); 
    } 
}); 

或它的更好,如果你添加id來UL,所以你可以做:

$("ul#someId > li").each(function() { ... 

要檢查字符包含,你可以使用的indexOf,如:

console.log(someString.indexOf("T")); //will return position if found else -1 

你的意思是類似的東西

+0

爲什麼只要使用'$(「#getId」).val()。trim();'? –

+1

@DavidThomas IE8及以下版本不支持'trim'方法。 – undefined

+0

@DavidThomas這有點習慣,並且事實上沒有使用.trim()之前 –

0

要遍歷列表項,使用jquery的each()函數。試試:

var get = "Tea"; //or other value 
$('li').each(function(index) { 
    if($(this).text()==get){ 
    //doMagic(); 
    } 

});​