嘿伙计们我试图搜索<ul>
基本上我写作时需要隐藏/显示对应的<li>
元素。
HTML
<input id="searchUtil" type="search" placeholder="Pesquisa..."/>
<ul id="ulutilizadores" class="list-group">
<li>**some code*</li>
</ul>
截至目前,我有这个:
//#searchUtil is the <input> id
$('#searchUtil').on('keyup', function (e) {
var searchText = $(this).val();
//#ulutilizadores is the <ul> id
$('#ulutilizadores li').each(function () {
var text = $(this).val();
if (text.indexOf(searchText)) {
$(this).hide();
} else {
$(this).show();
}
});
});
这不起作用。 我一直在寻找,但我真的找不到一些好的答案。有人能指出我正确的方向吗?
答案 0 :(得分:2)
您的代码中出现轻微错误
var text = $(this).val();
应该是
var text = $(this).text();
在你的情况下。
答案 1 :(得分:0)
试一试。在此,您搜索完全相同的文本。更改为searchText.Contains(this.innerHTML)或类似的内容,以获取文本在列表中的位置。
HTML:
<ul id="ulutilizadores" class="list-group">
<li>test</li>
<li>test1</li>
</ul>
JQuery的:
$('#searchUtil').change(function(){
var searchText = $(this).val();
$('#ulutilizadores li').each(function () {
if(searchText !== this.innerHTML )
{
$(this).hide();
}
else
{
$(this).show();
}
});
});