我下载并编辑了一个来自互联网的代码,基本上我想要做的是创建一个字符串列表,我正在使用JSON从数据库中读取。 列表是完美的,现在我想要做的是使用Jquery过滤结果(文本框)。 最好的方法是什么? 当用户在文本框中键入内容时,显示结果的完整列表,过滤列表中的结果。
由于
$(function ()
{
$.ajax({
url: 'api.php', data: "", dataType: 'json', success: function(rows)
{
var list = $("#toggle").append('<ul></ul>').find('ul');
for (var i in rows)
{
var row = rows[i];
//var id = row[0];
var Dname = row[4];
Dname = Dname.toLowerCase();
list.append("<li>"+Dname+"</li><div>Pulse</div>");
}
$('ul li:odd').addClass('zebra_odd');
$('ul li:even').addClass('zebra_even');
$("li").click(function(){
$(this).toggleClass("active");
$(this).next("div").stop('true','true').slideToggle();
});
}
});
});
答案 0 :(得分:4)
这很有效:
$('input').keyup(function() { // Bind keyup event to textbox
var textboxVal = $(this).val().toLowerCase(); // Get value of textbox
$('ul li').each(function() { // loop through the list
var listVal = $(this).text().toLowerCase(); // get value of the <li>
if(listVal.indexOf(textboxVal) >= 0) { // search if textboxVal is in listVal
$(this).show(); // if true show this <li>
} else {
$(this).hide(); // else hide this <li>
}
});
});