返回列表 发新帖

jquery制作简洁的多级联动select下拉框

210.0k 7
swmozowtfl 发表于 2015-7-18 00:12:34|湖北 | 查看全部 阅读模式
今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。
  i7 o- @0 f! M8 z; W% H7 e& @html代码:$ S4 C( C- e" @5 k8 B4 p
代码如下:0 Z; [' ?: S) q) v
<div class=wrap>& J* t! x. Q! I; c) z( r9 q; r: _
<div class=nice-select name=nice-select>! m7 T! i: A6 b
<input type=text value===选择省份== readonly>8 o2 L0 Z5 L# o; f4 I
<ul>
$ N1 r& N" r* w% J<li data-value=1>湖北省</li>
# T, U  e3 \4 V$ d* ]  X$ r9 N& T<li data-value=2>广东省</li>1 Y, m2 d2 p5 C/ s
<li data-value=3>湖南省</li>
% C/ J9 o9 r1 k$ _<li data-value=4>四川省</li>
. b/ X8 a5 ], \; i5 f</ul>
" j0 c/ x) }; `6 h% W4 J</div>3 I  L: x% G  |9 D7 H4 w
<div class=h20>
( _# z$ l2 M/ u" [+ r$ V</div>) p( A0 S2 ]# R
<div class=nice-select name=nice-select>
$ n0 Z# E: I% j9 {<input type=text value===选择城市== readonly>$ ]7 z: W5 j8 v5 [# O5 X5 t
<ul>
9 n* l1 i! n: N<li data-value=1>武汉市</li>
. m: j2 n2 W2 L: `' g<li data-value=2>深圳市</li>  B4 n* E: p6 Q2 ^$ D2 T
<li data-value=3>长沙市</li>
6 r& y" B" ^" [/ K1 m<li data-value=4>成都市</li>1 E3 J/ Z6 I  c% d6 Z
</ul>
6 n0 _. }: A$ ]8 Y6 r- a/ N0 V</div>
7 P- S& K0 n% i+ P( T<div class=h20>* S2 k1 [7 Z/ E6 O; k$ e
</div>
% `( `) u: ]5 Y7 W8 _<div class=nice-select name=nice-select>0 j: ^) e; N0 J$ r/ f$ b+ x7 U4 z
<input type=text value===选择区县== readonly>3 d# |$ L1 C+ `$ Y( _4 b
<ul>
0 }) Z4 E" z0 j% \; F3 o; j. v<li data-value=1>蔡甸区</li>
. }1 F. b5 l/ j; \8 j0 K0 C<li data-value=2>南山区</li>5 |' A# e  Q/ I) ~8 d: K
<li data-value=3>雨花区</li>; _5 [3 L  b- }4 ]- \7 B3 L) F. m
<li data-value=4>武侯区</li>3 ^  t  {% w3 w# h8 C! j
</ul>
2 Z* D6 v/ E: X8 x3 d3 G/ D0 R</div>* L4 B+ ]+ J$ c
</div>
7 A1 V6 R( Z! ^5 K8 |9 y2 J<script type=text/javascript src=js/jquery.js></script>  A9 g5 U& k: b" Y
<script>5 L4 L) Z2 O0 S5 K( d
$('[name=nice-select]').click(function (e) {) ^+ v5 g% v1 e7 N
$('[name=nice-select]').find('ul').hide();7 E1 }* o& k1 k0 n+ ?
$(this).find('ul').show();) _2 C% v# f; Y0 [! R+ {
e.stoppropagation();
' E7 v% j3 i) S( o( r' e});
5 Y! ^4 B. ?# X$ p# K$('[name=nice-select] li').hover(function (e) {
9 Z, `2 g" n& n3 U: c$(this).toggleclass('on');
1 h2 I; }* C3 T5 e. o) Me.stoppropagation();
. ]: `9 {) J. T! l. P& I- Z});/ x* S. j1 A/ n; o/ D% A6 ?6 @2 z
$('[name=nice-select] li').click(function (e) {
7 x' F, _. n8 i, R8 ]- e' t$ O4 P" Tvar val = $(this).text();
1 u) x; _) X6 R3 z3 q8 E% Xvar dataval = $(this).attr(data-value);# {4 `+ s- ?3 T9 R
$(this).parents('[name=nice-select]').find('input').val(val);
. [; P$ q, b3 Z* [) u$('[name=nice-select] ul').hide();
. d0 ?: g9 G" N" a* l2 ]7 w  G2 \; Pe.stoppropagation();1 t8 l; C! e6 f
alert(中文值是: + val);
1 x1 F8 n* G, J$ O5 {1 l% v/ Salert(数字值是: + dataval);
7 O/ p+ U% ~1 i, |1 E4 j//alert($(this).parents('[name=nice-select]').find('input').val());
# a! }, h6 N4 k$ P});1 {- Y# @/ K, C1 P5 A& s! Q8 L
$(document).click(function () {
3 x$ y0 h2 n  n; K7 ]4 K4 @  q$('[name=nice-select] ul').hide();' |' d2 @% V- G# c" [+ P
});
; r% z; V% I$ V9 Q$ P; w</script>) D! ~# a- M  ]: w
css代码:
8 u5 O4 N+ Y2 I$ E7 _) W代码如下:: u5 X3 u: `" s& H* q
body! U, H! M) W" o3 \  D" a) n
{3 o! K- r5 r; l+ R" `( Z) [1 F
color: #555;  W! F$ K5 v3 P8 C/ j! C, X
font-size: 14px;
1 @0 h( \. _1 E, w" ?font-family: 微软雅黑 , microsoft yahei;* Q% @% z9 R+ ^9 B1 f
background-color: #eee;- F. c, {+ h4 G8 y2 l; j
}6 a$ v) h- e' U" c
a6 c* _0 a: d0 b0 P
{
5 r* H6 o; L4 _9 d0 r" \' V! Qcolor: #555;7 o  n& o- `% R4 ~8 W7 Z2 I+ |
}
  ]" y( t% f( i: u' i  b, Ka:hover# y7 v; P. E, ]/ Q) p
{- d1 p3 G8 \# |) F& }, k5 I
color: #f00;( o& t+ t/ B7 o% D( C( }
}6 _, P4 Z4 L3 h0 b. `# a7 f
input
, L, P& s, |' P{7 n. d' f( ?4 o: O- E
font-size: 14px;
: v8 [: F8 d  S# pfont-family: 微软雅黑 , microsoft yahei;$ |7 s  D9 E- _1 f# H. u# t
}* b1 Z' f) R' t1 m1 r% b
.wrap
; F$ a$ k5 Z7 P# [{
& n* h6 \( ^) k& o$ Pwidth: 500px;2 }  M1 W' k( T# q$ P! l
margin: 100px auto;" V  K; ~; a; L3 M* e0 M
}3 }7 o7 @; j% c
.h20
; p- B/ A+ n& d1 d  w. j{
7 h* ?. i: C) }) W4 C) Rheight: 20px;' \' d2 r  |. ]& A, f, A
overflow: hidden;
" O- g/ Q: T3 F* P4 d7 Eclear: both;$ u# b3 \/ R5 H  L
}
0 L( E  }/ U: ~+ {& L4 q2 z.nice-select
7 l& P+ K5 h+ L. V' j{- H9 z# W0 }% @+ L6 W' y
width: 245px;# v. {& ]2 X9 {* D$ m
padding: 0 10px;
( F* W- [* ~$ Q4 S0 T( Oheight: 38px;
% p7 ~6 z( h5 m" ?& ?border: 1px solid #999;
% M/ D5 G, ]/ H9 D5 R- oposition: relative;
( X) b  x. G  L' T2 Rbox-shadow: 0 0 5px #999;9 h& V# j" l  G' u
background: #fff url(images/a2.jpg) no-repeat right center;: P8 v. R3 F. j; z5 x: w: r7 h
cursor: pointer;
" R1 i0 m6 D& O  e8 l( `}
% n: c* ]4 k' x- }.nice-select input
0 i5 ?) _( m$ W. s6 z{
( P0 f, ]- _* G8 }" L+ bdisplay: block;
& `  ^) j! x- b$ k+ q8 b3 t8 A" bwidth: 100%;' m  p3 V- B5 {! g
height: 38px;
* W% }" Q. U5 k' `6 h; bline-height: 38px \9;
6 p% F" ^) S6 |# t$ |border: 0;
  G4 h: G/ ]% X, W* }' q$ Noutline: 0;
( g3 j/ p* v, v+ n; c6 kbackground: none;
* I/ Z. V  C' c- P" @: Pcursor: pointer;
0 x; O  O& h; ]- p; M3 @}
# L$ P; a# b# g5 i, ]6 {0 G.nice-select ul+ s& j6 P7 u: @2 L/ o( A0 p4 ?1 \: m
{$ A! C: k3 D9 s9 {$ O: U) A& K
width: 100%;
0 u! x/ V9 E' y- T4 s1 N- [display: none;
  J+ m9 g' `2 ~% Yposition: absolute;
# E& ]- K6 e7 R2 X+ Y8 z- Ileft: -1px;7 M' e- Q, H; v# J1 P: S
top: 38px;8 q* B8 X- B9 o6 Z$ J
overflow: hidden;+ T4 x1 g' P; s, w; i* P& S; E) R3 w
background-color: #fff;
/ y3 {% o. N+ S) p7 ^( k/ }max-height: 150px;3 E$ y6 I% P5 `! [* ^/ x: L
overflow-y: auto;. T# t' v; W. t$ K6 ~) I* d0 f
border: 1px solid #999;$ _1 u& u/ R- J  N2 Q# `
border-top: 0;
( {1 i8 |/ A5 M& y# b0 }6 B5 ?box-shadow: 0 3px 5px #999;
4 u  ^4 e$ m/ T) f/ |* oz-index: 9999;5 N& l/ `$ u+ x# Y$ _
}9 H: u$ P- ?* s* h  v
.nice-select ul li0 X. Y5 m6 e9 E! s
{. t) ~4 A/ h4 R! ^' d
height: 30px;- ]0 k) Y: e/ F" D' C1 c
line-height: 30px;+ r+ U9 h8 u- f, J9 H- c2 [
overflow: hidden;- P8 C# W2 b* L9 {1 A6 d* o8 Z
padding: 0 10px;% m$ w! s6 T* d# Z9 x
cursor: pointer;
* \% o. A/ x; V2 [5 j# C7 T}
  c) m0 e) E* n7 C1 z! L.nice-select ul li.on/ y. t9 s. r3 D# [" v
{% a* p0 e# s% A# q+ q) Q, s! q) K
background-color: #e0e0e0;+ K5 G! g0 n& A2 N- @. t- _+ Z6 A
}
7 i0 s& X/ V) m) O代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。! z. U# C( T& j; w( L" B
8 U3 U2 U1 M1 S
更多网页制作信息请查看: 网页制作

回复|共 7 个

alapScady 发表于 2015-9-13 13:20:07|非洲 | 查看全部
什么啊
buingeEvineus 发表于 2015-9-13 13:20:19|美国 | 查看全部
我不是来为楼主呐喊加油的,也不是对楼主进行围堵攻击的。
Acropozelan 发表于 2015-9-13 13:20:34|美国 | 查看全部
这篇帖子构思新颖,题材独具匠心,段落清晰,情节诡异,跌宕起伏,主线分明,引人入胜,平淡中显示出不凡的文学功底,可谓是字字珠玑,句句经典,是我辈应当学习之典范(不好意思回错帖了
alapScady 发表于 2015-9-13 13:20:35|美国 | 查看全部
真是天底下好事多多
tohme 发表于 2015-10-26 18:09:23|日本 | 查看全部
求您了,给个机会
effoggikeftor 发表于 2015-10-26 18:09:59|广东 | 查看全部
我怎么说那?~!
effoggikeftor 发表于 2015-10-26 18:10:10|韩国 | 查看全部
下次有人骂我了...我给他还回去..

回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

得知互动是一个融创意、设计、开发、营销、生活、互联网于一体的专业交流分享平台。
Copyright © 2026 得知互动-专注Ai与站长技术交流社区-Ai交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表