Этот список не является фильтром, я получаю ту же длину до и после того, как фильтр выполнен. Значения txt
и val
являются правильными.фильтрация списка строк таблицы с помощью jQuery
$("#filter").on('keyup', function(e){
var val = this.value.toLowerCase();
c.log('trs', $trs.length);
$trs.filter(function(i){
var $el = $(this).find('td:nth-child(2) a')
, txt = $el.text().toLowerCase();
//c.log('test', txt, val);
return !!txt.indexOf(val);
});
c.log('trs', $trs.length);
});
Вот HTML:
<tr>
<td class="numeric"><a id="btc" class="rank">1</a></td>
<td>
<img src="img/Bitcoin.png" class="currency-logo">
<a href="http://www.bitcoin.org" target="_blank">Bitcoin</a>
</td>
</tr>
<tr>
<td class="numeric"><a id="ltc" class="rank">2</a></td>
<td>
<img src="img/Litecoin.png" class="currency-logo">
<a href="http://litecoin.org" target="_blank">Litecoin</a>
</td>
</tr>
в тд использование .html() не .val(). try alert (val) // Я не думаю, что он перенастроит любые данные. –
, пожалуйста, разместите соответствующий html и дайте несколько объяснений. –
Я не использую '.val()'. Я отправил html. – chovy