https://www.jb51.net/article/193662.htm
原生JS实现多条件筛选
本文实例为大家分享了原生JS实现多条件筛选的具体代码,供大家参考,具体内容如下
我在学JS初始看到的教程基本都是JS二级联动查询、三级联动查询;如下图:
但有时并不需要级联查询,如购买商品时:
今天我以慕课网前端样式作为参考做了下面的Demo,基于原生JS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
<
div
id
=
"direction"
>
<
strong
>方向:</
strong
>
<
span
class
=
"active"
>全部</
span
>
<
span
>前端</
span
>
<
span
>后台</
span
>
<
span
>数据库</
span
>
<
span
>UI设计</
span
>
</
div
>
<
div
id
=
"category"
>
<
strong
>分类:</
strong
>
<
span
class
=
"active"
>全部</
span
>
<
span
>HTML/CSS</
span
>
<
span
>JavaScript</
span
>
<
span
>jQuery</
span
>
<
span
>Python</
span
>
<
span
>Java</
span
>
<
span
>AngularJS</
span
>
</
div
>
<
div
id
=
"type"
>
<
strong
>类型:</
strong
>
<
span
class
=
"active"
>全部</
span
>
<
span
>基础</
span
>
<
span
>案例</
span
>
<
span
>框架</
span
>
<
span
>工具</
span
>
</
div
>
<
strong
>返回值:</
strong
>
<
p
id
=
"Res"
></
p
>
|
1
2
3
4
5
6
7
|
<style>
span{
display
: inline-
block
;
cursor
:
pointer
;
padding
:
8px
;
border
:
1px
solid
#999
;}
span.active{
background-color
:
#c14d00
;
}
</style>
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
<script>
var
dSpan = document.getElementById(
'direction'
).getElementsByTagName(
'span'
);
var
cSpan = document.getElementById(
'category'
).getElementsByTagName(
'span'
);
var
tSpan = document.getElementById(
'type'
).getElementsByTagName(
'span'
);
var
aSpan = document.getElementsByTagName(
'span'
);
var
oDirection = document.getElementById(
'direction'
);
var
oCategory = document.getElementById(
'category'
);
var
oType = document.getElementById(
'type'
);
var
oRes = document.getElementById(
'Res'
);
dSpan[0].className =
'active'
;
cSpan[0].className =
'active'
;
tSpan[0].className =
'active'
;
for
(
var
i=0; i<aSpan.length; i++){
aSpan[i].onclick =
function
(){
var
siblings =
this
.parentNode.children;
for
(
var
j=0; j<siblings.length; j++){
siblings[j].className =
''
;
}
this
.className =
'active'
;
if
(
this
.parentNode == oDirection ||
this
.parentNode == oCategory ||
this
.parentNode == oType){
returnRes();
}
}
}
function
returnRes(){
var
o1 = 0, o2 = 0, o3 = 0;
for
(
var
i=0; i<dSpan.length; i++){
if
(dSpan[i].className ==
'active'
){
o1 = i;
}
}
for
(
var
i=0; i<cSpan.length; i++){
if
(cSpan[i].className ==
'active'
){
o2 = i;
}
}
for
(
var
i=0; i<tSpan.length; i++){
if
(tSpan[i].className ==
'active'
){
o3 = i;
}
}
oRes.innerHTML = (dSpan[o1].innerHTML +
","
+ cSpan[o2].innerHTML +
","
+ tSpan[o3].innerHTML);
}
</script>
|
最后附上效果图:
注:本篇博文是 【无条件】的分类筛选
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
<div class="art_xg">
<b>您可能感兴趣的文章:</b><ul><li><a href="/article/124840.htm" title="基于JavaScript实现前端数据多条件筛选功能" target="_blank">基于JavaScript实现前端数据多条件筛选功能</a></li><li><a href="/article/107385.htm" title="Vue.js实现多条件筛选、搜索、排序及分页的表格功能" target="_blank">Vue.js实现多条件筛选、搜索、排序及分页的表格功能</a></li><li><a href="/article/103420.htm" title="js实现表格筛选功能" target="_blank">js实现表格筛选功能</a></li><li><a href="/article/116413.htm" title="JS实现商品筛选功能" target="_blank">JS实现商品筛选功能</a></li><li><a href="/article/89574.htm" title="AngularJs页面筛选标签小功能" target="_blank">AngularJs页面筛选标签小功能</a></li><li><a href="/article/173005.htm" title="原生js实现商品筛选功能" target="_blank">原生js实现商品筛选功能</a></li></ul>
</div>
</div>