get jquery: содержит значения в массив - PullRequest
0 голосов
/ 19 июля 2011

У меня есть таблица, и я хочу получить массив значений ячеек, которые содержат запрос, предоставленный пользователем.

Например, пользователь вводит «20», а таблица -

120
240
220
110

Я хочу, чтобы массив содержал

[120, 220]

У меня сейчас

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

и я также попробовал описанное выше с помощью .text (), чтобы увидеть, получит ли это мне текст, но, похоже, ничего из этого не работает.

Должно быть, все довольно просто, подумал я, но у меня возникли некоторые проблемы с этим.

Ответы [ 3 ]

2 голосов
/ 19 июля 2011

Если вы хотите создать массив, работает следующий код:

<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 голосов
/ 19 июля 2011

Разве вы не можете просто пройти через это?

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/

0 голосов
/ 19 июля 2011

Попробуйте и дайте мне знать, если работает / не работает:

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

Обратите внимание на цитату ' перед закрытием ".Я помню, у меня была похожая проблема в прошлом, и я надеюсь помочь вам решить ее :) надеюсь, это поможет.

...