我列出了一些div,我希望能够添加一个允许用户开始输入的输入字段,并根据每个div过滤div。我正在尝试下面的代码,但它不起作用。
$("#search").keyup(function(){
var search_text = $('#search').val();
var rg = new RegExp(search_text,'i');
var liLength=$("#dataList li").length;
for (var i = 0; i < liLength; i++) {
if ($(".address").text().search(rg) || $(".trustee").text().search(rg) || $(".borrower").text().search(rg)) {
$("#dataList li")[i].style.display="block";
} else {
$("#dataList li")[i].style.display="none";
}
}
});
答案 0 :(得分:1)
没有定义contains
方法。您可以改用String.prototype.match
。您还需要提供搜索块.address
,.trustee
和.borrower
的上下文,以便在单个li
元素内搜索:
$("#search").keyup(function () {
var search_text = $('#search').val();
var rg = new RegExp(search_text, 'i');
$("#dataList li").each(function() {
if ($(".address", this).text().match(rg) || $(".trustee", this).text().match(rg) || $(".borrower", this).text().match(rg)) {
$(this).show();
} else {
$(this).hide();
}
});
});