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>