今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。9 e i i, ~1 p
html代码:
% J& q0 @- D4 w. @( ~代码如下:
5 w& z1 r% q% N" Z8 _4 _* e1 o: W<div class=wrap>
) T8 j5 j: v' M ?4 v5 r3 F! g' \<div class=nice-select name=nice-select>2 `; I, m5 ~; a+ q
<input type=text value===选择省份== readonly>' R' s7 _/ n* ]3 M& r W& |
<ul>
6 k* J; m; d, R; _* L<li data-value=1>湖北省</li>4 a* U/ {; S5 i, g8 m
<li data-value=2>广东省</li>9 Q( s4 t. g% I) V a0 n2 C
<li data-value=3>湖南省</li>
0 M9 T1 E6 s/ K7 v<li data-value=4>四川省</li>
* w0 u9 F! ~6 R) n4 ?# P: ]& D) I</ul>! k6 ~ P6 \5 Z( P$ I+ e" o- a9 ~
</div>
7 _0 w. q, P# V<div class=h20>3 w. `7 ~9 F. [) v6 }) q; V
</div>
8 v9 ]* ?3 p+ I<div class=nice-select name=nice-select>
5 o5 S9 g& Y7 X' m* _5 o: v<input type=text value===选择城市== readonly>* v, s. ?- @) }1 p
<ul>
2 m" V2 b) C9 L C/ k<li data-value=1>武汉市</li>
; ?" z# G5 I% e<li data-value=2>深圳市</li>
3 b8 c. g9 M+ h* J4 E<li data-value=3>长沙市</li>. {/ O! X2 A6 n; ^6 X+ t0 o
<li data-value=4>成都市</li>8 f2 x- l+ ~' s9 l
</ul>
e, E2 E2 w, G: T8 _1 Q</div># b& L: P4 O% Y# z
<div class=h20>
1 I2 S6 d/ C( k9 o! H/ x% l</div>+ S8 O' I: w, T) Z
<div class=nice-select name=nice-select>
, y& C" l1 b. E* d<input type=text value===选择区县== readonly>4 T2 V: [7 W' j' u Z. B
<ul>+ y$ l/ Y0 Q3 l" G$ N' ]% p1 ~
<li data-value=1>蔡甸区</li>
6 Y! m% {( S& r. K! m) T3 k3 c6 J8 d<li data-value=2>南山区</li>: ?, V6 m3 @4 \7 T
<li data-value=3>雨花区</li>+ O. J' |+ R( e7 _& V* W# a3 {
<li data-value=4>武侯区</li>" G8 d5 G% P; P; F; c0 f( x4 X# u
</ul>8 D; ?6 _. b( o7 B
</div>; {, f# T; [ W9 }2 u
</div>! e6 i8 b+ Q! @
<script type=text/javascript src=js/jquery.js></script>4 W# o! r! O( t8 c, P- L! {
<script>! Y1 q) Q) q+ G& V0 [: ~$ N
$('[name=nice-select]').click(function (e) {, [( i2 l" E5 s) k. ?
$('[name=nice-select]').find('ul').hide();
7 c( c2 a- y8 y) m$(this).find('ul').show();0 P5 Q" ?6 s' t9 k* R4 }3 U' z6 R% ~& k6 M
e.stoppropagation();
' i8 N) u$ n6 N});4 ` P. V3 {) k8 J6 a
$('[name=nice-select] li').hover(function (e) {
4 r7 D0 ?7 M: }. s1 X& U. T) |" m$(this).toggleclass('on'); q, R3 ]6 s# ?, w c
e.stoppropagation();9 O/ Z2 f: _+ f0 B: a
});
& D$ [3 }, ^/ ?$('[name=nice-select] li').click(function (e) {
4 f) q" j! G5 q2 n4 Ivar val = $(this).text();
7 e, z, _! F3 T! Evar dataval = $(this).attr(data-value);
8 n! ~2 Y; B! k. k4 z) Z$(this).parents('[name=nice-select]').find('input').val(val);; f% D, T+ z# ^. T( s0 w( k! b
$('[name=nice-select] ul').hide();
6 d% N9 N; h5 ]: \! _& `e.stoppropagation();
6 @0 ^$ ?6 L; T3 i- Nalert(中文值是: + val);
/ X1 I6 \0 n4 E1 q$ |) b) I9 Ialert(数字值是: + dataval);) m2 x- E# W9 X+ o* t# F5 l
//alert($(this).parents('[name=nice-select]').find('input').val());' W- ^8 Z- J0 Y/ @: y& e
});
3 a8 H( u/ t0 E. d* f8 H$(document).click(function () {& _/ C" h }3 k' F8 T1 e8 L# N
$('[name=nice-select] ul').hide();0 n% Y; b n5 ~" v
});
3 S' {' D- J! H9 |$ l3 [+ \</script>4 _3 S' L+ K3 ?/ n
css代码:
- b& b2 R% i1 z5 G3 H9 e代码如下:3 ~. F; y- e7 P [* t. D7 \
body, u& d4 L1 ~4 L. R& C" t: j: p! U
{+ V' [' H% l( y
color: #555;
/ r$ c% p; B3 T* p/ s8 Gfont-size: 14px;
2 G5 c& w- B3 c0 _+ _font-family: 微软雅黑 , microsoft yahei;
5 e" l1 }% U9 o4 d. V% C. P. Cbackground-color: #eee;' H( e$ N- f: o, {/ }' W8 R' x9 h
}$ }. b, G5 C% a$ o o( B B4 G; V
a0 O& b. d- ?" E9 M& z
{
9 v7 S9 a# ^" G4 r$ _color: #555;
7 v( z3 ~ z1 M2 c1 [4 S1 p}
" L, ~/ u3 ~; r1 a( da:hover# J- W1 U9 Y: c/ R6 y! Z' B0 [
{# I2 ^8 O) _+ C8 t0 d
color: #f00;
8 i' g3 T) L8 _' T" o1 }}/ h, E+ E% C: v
input. f9 K: Y9 ]# H5 n% {' l) x
{
" V& r/ }0 |9 J; Lfont-size: 14px;
8 X* p5 }4 Y6 _. [5 sfont-family: 微软雅黑 , microsoft yahei;
2 M8 }' W2 n! c}
) U- W6 `/ I2 d/ X1 O.wrap' }% Y/ B( [! `: w6 |
{
$ l6 J8 C6 g$ P4 [- owidth: 500px;
: {% C- |- p% o& v1 U' o8 gmargin: 100px auto;
t1 h& v" h/ g) W9 T" X}& S+ j. R0 b4 j6 l$ G8 f
.h20
- h( {" Z. `5 ]{3 {: y2 X1 G! `) ]$ _, S
height: 20px; _( D, F- q/ V& N/ y9 |1 ?2 s3 M
overflow: hidden;
: L$ d6 A$ D6 ]( Hclear: both;# {5 I: [2 W+ u. h" D* v! A
}1 j, N3 s8 t* y* Q" Y
.nice-select! X# q \7 n# ~# [
{
4 L# Q7 I. A+ D* {% ?0 |width: 245px;
- v0 i ]4 k y. ^4 V, _+ a cpadding: 0 10px;
; [6 d0 F" F6 Vheight: 38px;+ _; R* y7 L5 r$ j# M ~& f
border: 1px solid #999;
7 R6 }! q5 i8 [: }2 _0 f9 _6 Bposition: relative;/ J3 n5 [) e. ?$ X
box-shadow: 0 0 5px #999;
1 Q \0 w* h% \/ fbackground: #fff url(images/a2.jpg) no-repeat right center;2 n8 T p' ~6 \4 D& e* w L
cursor: pointer;
. z! G8 h0 N# ]' H$ f7 n- B}) n6 G* R/ u7 \9 N# I/ C: t. A: v- {
.nice-select input) w/ n$ Q' U" H+ }9 F) C) a
{
' C) k$ T1 |6 Y7 q0 r; bdisplay: block;
. P) b; {9 m" xwidth: 100%;) _; i! \# b" s- L: q
height: 38px;
, }- B/ F3 h5 I+ s; S/ |* Fline-height: 38px \9;6 U6 c, z4 C7 Q5 \* ]) v
border: 0;
u h7 i5 f6 N( |4 Goutline: 0;
3 M+ o( \0 O8 T0 e" O6 I; ^6 b. ?background: none;
8 W3 S+ b* O+ j2 N+ l" b, bcursor: pointer;
3 j% E/ V* a1 \+ F2 q; `" _}6 d! e: Q9 m0 [2 E. G: K
.nice-select ul
$ a5 Z/ d1 D; ^4 V0 s. H{
% ?* [% ^! C' |' i( t" P0 hwidth: 100%;" b& y, L; ]) w3 L8 a# N
display: none;' \# s* A5 ~5 A& R; V* d0 S4 o# l
position: absolute;( e! ?, P3 k0 M
left: -1px;6 D% ~; I- Q) y, g7 j% P4 |
top: 38px;
, o( o/ B0 v! h# T) \overflow: hidden;: Z/ P7 X: n2 B# d# i8 b6 ?
background-color: #fff;7 J$ G2 C, I. j, P3 p2 G
max-height: 150px;6 v& Y# k2 D, d8 g( n
overflow-y: auto;. O; {: W1 ?) s
border: 1px solid #999;
! S+ b5 T* i1 i! r" e+ \border-top: 0;9 d' @/ m g, b8 u f1 h. g
box-shadow: 0 3px 5px #999;( e0 x+ s5 R5 `# l; u& k
z-index: 9999;1 x7 t, Q; \: M5 T, \; [& t
}
6 t, }% c, b4 Z! U2 ?.nice-select ul li. s2 w+ v) i C8 D9 j
{
y$ D& T( M9 E" I( T6 Lheight: 30px;
' a8 X6 [) G4 d* e, r- i! q4 u# ~line-height: 30px;0 S( P( Y# E4 n8 d* [
overflow: hidden;
" M, Y8 C. @5 [padding: 0 10px;" r" g. q) u+ E# N
cursor: pointer;5 Q- e7 @" Q0 {# \
}9 w1 w* t& U; ]
.nice-select ul li.on# R: H4 O) N, \
{! q' ?$ C, X3 z
background-color: #e0e0e0;# t9 q7 H5 ^" m, j, B
}
7 O& o% K% ]+ F2 a) l, r' x代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。" O- i- m9 z* y! m( `; L
m+ o2 m% V' H& E& o7 g U; F
更多网页制作信息请查看: 网页制作 |
|