2011-07-19 6 views
0

私はテーブルを持っていて、ユーザーが提供するクエリを含むセル値の配列を取得したいとします。get jquery:配列に値が含まれています

たとえば、ユーザ入力 '20'、およびテーブルは、私は、アレイは、私は現在、

 
var data_list = jQuery('td:contains('+seach_val+')','table#data'); 

を持っていると私

 
[120, 220] 

を入れたい

 
120 
240 
220 
110 

ですまた、それが私にテキストを得るかどうかを調べるために.text()で上記を試しましたが、どれもうまくいかないようです。

私はかなりシンプルなはずですが、これにはいくつか問題があります。

+0

それはうまくいくはずです。 http://jsfiddle.net/Mj5G4/ –

+1

これは明らかかもしれませんが、 'search_val'を意味するときに' seach_val'のスペルミスがないことを確認してください。 –

答えて

2

アレイを作成するために探している場合は、次のコードは動作します:

<table id="data"> 
    <tr><td>120</td></tr> 
    <tr><td>240</td></tr> 
    <tr><td>350</td></tr> 
    <tr><td>220</td></tr> 
</table> 

search_val = 20; 
data_list = []; 
jQuery('td:contains('+search_val+')','table#data').each(function(){ 
    data_list.push($(this).text()); 
}); 
console.log(data_list); 

コンソールでこの出力:

["120", "220"] 

http://jsfiddle.net/Mj5G4/4/

0

これを試してみて、私に知らせている場合、次の作品/ない:

var data_list = jQuery("td:contains('"+seach_val+"')","table#data"); 

お知らせ決算"前に引用'。私は過去に似たような問題があったことを覚えています。あなたもそれを解決するのを手伝っています。

+0

それは何の違いもありません。参照してください:http://jsfiddle.net/Mj5G4/1/ –

+0

一見..私はそれを試してみました –

0

このようにループすることはできませんか?

var searchString = "20"; 
var results = []; 
$('td').each(function(index, element){ 
    if($(element).text().indexOf(searchString) != -1){ 
    results.push($(element).text()); 
    } 
}); 
alert(results); 

http://jsfiddle.net/XZWEh/1/

関連する問題