今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。# } ~6 s! b7 ?) ~
html代码:
% z) F0 s: ~: R! p2 O4 L$ E B代码如下:0 x, L6 [3 a) @9 {1 S4 l- f0 N
<div class=wrap>
' `- f O0 y+ J* i, z4 r z" X! \<div class=nice-select name=nice-select>+ L9 @: c+ D" `5 m. A# J6 ^
<input type=text value===选择省份== readonly>
: J- {9 S: W. S! ]<ul>/ n% n& i7 O; J8 l, Y9 Q
<li data-value=1>湖北省</li>
* }( d& T0 n" c; |8 T: U1 @5 e0 w( H- e<li data-value=2>广东省</li>" | ]" ]$ B! d' h" b* ?% _
<li data-value=3>湖南省</li>
3 W. |! Y& [8 L) t8 W: L; e$ }# A1 V<li data-value=4>四川省</li>
% d" g+ C2 L7 k</ul>
" C) }% A& |$ T( A5 ?</div>3 h5 f s) m& x, @6 W5 S
<div class=h20>- c% N% D$ J" O0 x# r
</div>% M H7 M+ H w' ~: B* a
<div class=nice-select name=nice-select>
5 C1 u X& Y6 E" i8 `<input type=text value===选择城市== readonly>7 z2 g6 k$ ~# F7 o! E
<ul>
% O2 u6 I& `8 `$ z8 `" J# M<li data-value=1>武汉市</li>3 f6 N1 M3 ]) Z, ^5 f/ f
<li data-value=2>深圳市</li>
7 O" v8 l( y" V1 T0 ~<li data-value=3>长沙市</li>2 L1 v& W$ B9 Q* u; r: Y. `3 J
<li data-value=4>成都市</li>
* Z o! c- A. s f% x( L</ul>
/ p7 m! W0 }2 ]0 k( U# M* h</div>
0 z6 }2 ^3 w0 W% S. n<div class=h20>% m/ }7 f" \5 V' v3 U
</div>9 V. F' z- \1 ]$ b
<div class=nice-select name=nice-select>% {, B3 C1 m8 U# u# c
<input type=text value===选择区县== readonly>
7 B! q# y& h8 H0 z<ul>% R* A2 D- N6 z4 Z9 o r, \
<li data-value=1>蔡甸区</li>
7 h Z5 [! Y- n% i<li data-value=2>南山区</li>
2 Z/ E- `( Y7 a) o/ r; ]/ [( P- q<li data-value=3>雨花区</li>0 @; H6 B+ f$ ^* U
<li data-value=4>武侯区</li>
8 P7 h4 G c* W# H) D</ul>
6 y! R5 ]. S! I0 t& \</div>, C7 b/ e2 @8 @% E8 L; z. f6 k
</div> I. Y( y+ Z8 T9 f! Z
<script type=text/javascript src=js/jquery.js></script>' l. j4 N( _3 e; e0 I
<script>1 L# {, @# @! G+ Q1 \+ I: c( K: w
$('[name=nice-select]').click(function (e) {
* [1 P- T! ]$ R2 C6 W+ [* U, d$('[name=nice-select]').find('ul').hide();/ f* Y4 z7 g) V% O. V; I; I4 @
$(this).find('ul').show();- {2 k. F4 k d% A
e.stoppropagation();
3 Y( j M( D+ D' X9 W. Y1 }6 c});
& y) h( b7 E% S5 s8 o$('[name=nice-select] li').hover(function (e) {" Y s2 E; S; q! ?1 _8 [
$(this).toggleclass('on');1 b5 Q8 t# I. c% T
e.stoppropagation();
& j) v; w) v" j, Y S6 j, v, T" j});9 z0 `* a# }0 Q; _
$('[name=nice-select] li').click(function (e) {
& r8 [( W) i8 c P& x7 Ivar val = $(this).text();
) k! T" f0 b9 J% h( {% t. V/ C" G8 mvar dataval = $(this).attr(data-value);7 R3 H# i9 e1 ]1 I6 L2 g
$(this).parents('[name=nice-select]').find('input').val(val); n) N' C0 [( o
$('[name=nice-select] ul').hide();
% W2 X+ F* ]9 q3 b5 m2 S" ~e.stoppropagation();
3 D% B7 W6 T4 j3 k8 yalert(中文值是: + val); n; g5 _9 C4 ~' b7 @
alert(数字值是: + dataval);
- @0 M% X! M9 \( W5 k0 i2 c2 H//alert($(this).parents('[name=nice-select]').find('input').val());
- F8 o) z; G: C% _9 z8 }});
9 r' g1 T \1 z$ M( s- x7 ~; \$(document).click(function () {. |6 z: T7 V) q9 t
$('[name=nice-select] ul').hide();
8 P; `2 K& n& n* n- m* v}); m* b/ N# y4 d) H5 E$ }
</script>
5 F ?( }1 O! m" ^; }/ jcss代码:
) Z1 o0 t. L8 W# L# r/ U* `3 [" E代码如下:, x( i4 D, ^& T* W" U
body
) R Z. J9 L5 e7 i{
; D# H' _+ u# N- R, @( vcolor: #555;% t2 ?. h7 ?2 G( Q: K8 c
font-size: 14px;8 S' A" ?2 W* r6 v& t
font-family: 微软雅黑 , microsoft yahei;& b* a& o' n' O$ w
background-color: #eee;$ B5 v9 |- A$ @9 v+ ]6 n4 N3 q
}
7 Z) U, P( a2 i1 }3 ta h" Z" b2 j7 P3 e/ S O' W
{9 m( T# u: S! B( N
color: #555;
( P" Z: S& d5 l0 u# l}) u" w- N) l& Z! Z. W, ^
a:hover
7 B2 z2 n1 c; F8 _, d- T- S{
0 Q5 o1 m T: X bcolor: #f00;
/ h7 K1 ^) r- i- \9 P: S& Z$ G. K}
7 f" n/ D; s* ~5 Zinput
8 h* s" d6 a( [- Q \2 Y( I0 Z{. a2 m; M0 l9 M/ \6 ^
font-size: 14px;, o& q( l7 j" l
font-family: 微软雅黑 , microsoft yahei;
$ p! G' M5 C. n& ] S6 `}4 ^6 |; I. l4 K9 _! S
.wrap
' u1 f# i; z* {+ Q{: S4 u0 h$ _# p; B& H
width: 500px;
8 }) J2 W# G) g. x- B2 Y: b: ^margin: 100px auto;
! i! o' P5 H: g; W: ]} I# Q* e7 _. R; `& W
.h20
6 Z, T4 x7 `/ ?/ ~4 |9 _{
- ` x8 ~. D& b! ~$ h9 j5 H p. J1 u3 g4 \height: 20px;' [) X% o( T) w0 T! n
overflow: hidden;
1 b: x$ D5 Q+ t; b% V- \. }clear: both;. `* d2 Y4 ^3 |5 S! J) `' e# |7 _
}5 C2 {" y7 M3 D) d1 t, G
.nice-select+ H/ {. z" c x- k1 O/ U+ z% t
{
1 x* x1 q; T- P- M5 [( pwidth: 245px;
. K# j; t; x8 Z4 R8 Y5 f' `& Y" apadding: 0 10px;
7 C: P5 X9 B; c4 M% ~. \4 E \6 Vheight: 38px;
% L( X% M P, V2 u5 K0 ^* g3 ~border: 1px solid #999;$ T9 b# s8 x! ~- t
position: relative;
8 |' \: p2 D# }( Lbox-shadow: 0 0 5px #999;3 f: t* r2 a, z4 u3 w
background: #fff url(images/a2.jpg) no-repeat right center;
P) T& t; X7 G/ [cursor: pointer;; Y: _: K7 ?7 Y: k8 c# m
}0 b, B6 A, g1 ~9 L
.nice-select input2 c+ b2 W4 T, b. {( N
{
' \$ S# P& m) v3 J6 Y4 _; Ydisplay: block;
; \1 M; P3 Q% d4 \6 Mwidth: 100%;6 t8 { Q' e: D O/ z$ [
height: 38px;$ Z2 v& ?: l: O" e9 X* u& _
line-height: 38px \9;
& }2 ^5 f( Z. Z8 Z3 Gborder: 0;
: ~# e6 K. o. s- }7 @. q) \! {outline: 0;% |8 C Z( D! v: X5 C1 g; e
background: none;6 P6 n: f$ k$ I8 \( x/ L4 N
cursor: pointer;
& D4 F: V' s8 T}
) G/ a; K7 S8 |; f7 y9 O.nice-select ul5 _4 o! M+ Y' p0 c0 A& {: ?
{
3 a6 I+ F. C5 S0 |8 r9 Uwidth: 100%;+ ]7 Y. ?: i% P3 B# p
display: none;
' y: D9 k" Y6 _% T/ v y2 Zposition: absolute;3 c, E9 G5 ?: v/ h Q9 R/ y( Z
left: -1px;
) l6 ~5 i; J8 _3 |& s, n; Ctop: 38px;
" d7 z/ C& r5 u! F& b: k0 y. i( Uoverflow: hidden;
- t- c7 K* j- H2 Z8 @- h6 Bbackground-color: #fff;
- j6 e. a& g: o4 m) i8 xmax-height: 150px;
4 H3 g1 v3 V3 h7 P$ S. T) Loverflow-y: auto;, o1 i% c% Y2 x+ h
border: 1px solid #999;
$ L3 f. w# z" v/ m# B gborder-top: 0;* u- G9 _9 ?% g
box-shadow: 0 3px 5px #999;
! k9 @; T& m) s' i$ Tz-index: 9999;4 Z; o: K& s& S, x* d0 x8 \7 q/ B
}" S6 d$ E9 G! m8 G
.nice-select ul li
5 h: O; u0 i4 q4 F3 x{
1 \# D6 V7 |7 Z4 U4 j; uheight: 30px;/ @/ h4 H& A# _1 T5 S, s9 ^
line-height: 30px;. J4 ]& I( @. I" q, g
overflow: hidden;
: E: V3 l. \# Rpadding: 0 10px;
7 b# F$ ]( \0 I6 Gcursor: pointer;
! D- f( Q, q" }6 u}' ]5 h s' k! ^! A/ S, j$ N# N
.nice-select ul li.on# m& Z3 Z- ]) F: l
{/ x, m* }9 K4 b6 {" c7 E
background-color: #e0e0e0;
# t8 f9 w V, A( Y}, y" i8 ^5 S% y" _" w0 Z* q0 a& x
代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。
. }/ s o) N8 w0 I% n# Y- r( {' U2 f5 R
更多网页制作信息请查看: 网页制作 |
|