
一款非常简单的jQuery文本框输入文字自动筛选代码,带图片的查询框文字筛选列表显示代码。
js代码
<script type=\"text/javascript\">
var personArr = [
{ name: \'王港\', src: \'img/3.png\', des: \'颈椎不好\', sex: \'m\' },
{ name: \'张三\', src: \'img/4.png\', des: \'描述信息2\', sex: \'m\' },
{ name: \'李四\', src: \'img/5.png\', des: \'描述信息3\', sex: \'m\' },
{ name: \'王麻子\', src: \'img/1.png\', des: \'描述信息4\', sex: \'m\' },
{ name: \'阿海\', src: \'img/2.png\', des: \'描述信息5\', sex: \'m\' },
{ name: \'刘莹\', src: \'img/5.png\', des: \'我是谁\', sex: \'f\' },
{ name: \'王秀莹\', src: \'img/4.png\', des: \'我很好看\', sex: \'f\' },
{ name: \'刘金雷\', src: \'img/1.png\', des: \'你没有见过陌生的脸\', sex: \'m\' },
{ name: \'刘飞翔\', src: \'img/2.png\', des: \'瓜皮刘\', sex: \'m\' }
];
//渲染函数
function renderList(arr) {
var str = \"\";
arr.forEach(function (ele, index) {
str += \'<li>\\
<img src = \'+ ele.src + \' alt = \"\" >\\
<p class=\"username\">\'+ ele.name + \'</p>\\
<p class=\"des\">\'+ ele.des + \'</p>\\
</li > \'
})
$(\"ul\").html(str)
}
renderList(personArr)
//根据名字渲染
var searchVal = \"\";
var sexVal = \"a\";
$(\".search-box\").on(\"input\", function () {
searchVal = $(this).val();
all()
})
//根据性别渲染
$(\"span\").on(\"click\", function () {
$(\"span\").removeClass(\"active\");
$(this).addClass(\"active\");
sexVal = $(this).attr(\"sex\");
all()
})
//根据名字筛选数组
function nameFilter(name, arr) {
return arr.filter(function (ele, index) {
return ele.name.indexOf(name) != -1 ? true : false
})
}
//根据性别筛选数组
function sexFilter(sex, arr) {
if (sex == \"a\") {
return arr;
}
return arr.filter(function (ele, index) {
return ele.sex == sex;
})
}
//合并筛选
function all() {
var lastArr = nameFilter(searchVal, personArr);
lastArr = sexFilter(sexVal, lastArr)
renderList(lastArr)
}
</script>










暂无评论内容