今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。2 p, Z* q7 B( c e8 e$ ^% e1 m
html代码:
+ G7 j9 f( |& o7 c! J% ^& X. q代码如下:, G+ g# b, P4 s* s- w$ a
<div class=wrap>0 v7 G* s7 g. Y! l7 }
<div class=nice-select name=nice-select>
4 h; P, m$ g& Z' P<input type=text value===选择省份== readonly>" e6 P% \: r1 M: s s
<ul>3 U5 w7 c4 U( S0 b3 c5 _
<li data-value=1>湖北省</li>/ M9 }8 J5 [6 r; T- k, T
<li data-value=2>广东省</li>
1 z# S7 v8 G7 F) T<li data-value=3>湖南省</li>( F Z+ k" z9 a7 r) u# C+ D
<li data-value=4>四川省</li>$ q4 @. y8 Q+ i- e
</ul>
, C3 v9 Y' O4 ?! ^/ W# R</div>( _3 S6 I8 N2 f3 D
<div class=h20>
4 C) E2 ~& q; q& m: _</div>0 r R, v* t: M; u$ L' y% U' B6 {
<div class=nice-select name=nice-select>
" X( B1 D; C% }4 U7 ?<input type=text value===选择城市== readonly># B: D+ i7 M: B6 M' t# M1 e3 y9 c' G
<ul>
: f1 D& m4 i- H8 O- _ |: U<li data-value=1>武汉市</li>; A/ o3 i5 p ]% {
<li data-value=2>深圳市</li>8 l* {" `. [) h z$ j& j+ d$ n
<li data-value=3>长沙市</li>
+ W% F6 E6 E& e( y<li data-value=4>成都市</li>
3 J+ a2 d0 z, G8 C</ul>
) ~1 a7 h& k* p$ X9 d- a( f/ L</div>! M* g% g. Z& t0 C
<div class=h20>
; Y1 M4 O, s) Y! x- o& z1 N</div>- I7 \# X! o: Z- u& b
<div class=nice-select name=nice-select>
+ ^( ]2 [$ D: i<input type=text value===选择区县== readonly>2 x' d! G B! E2 S ^0 j& x+ @
<ul>
( k+ [; ~+ ]6 E, x2 A; e<li data-value=1>蔡甸区</li>
5 ~. L) U) e+ D9 [1 Q$ w! ?$ S! d" f% a<li data-value=2>南山区</li>7 W8 }# h* a. r. k$ _/ o
<li data-value=3>雨花区</li>, n- O2 @, B/ ]! k* U
<li data-value=4>武侯区</li>
, h! [# d C% d; M. D U5 t* B</ul>; V1 i7 _. k- J& O" E2 `( m0 ?
</div>
2 s3 I- E' v% o7 ^5 f ^</div>; I& d$ I' Q j/ a( |; m
<script type=text/javascript src=js/jquery.js></script>
& S5 T6 L1 Q) P<script>
( j6 s9 s2 `+ S& G* g( |3 O" ?$('[name=nice-select]').click(function (e) {* W" l( @1 E( a) z$ e0 B
$('[name=nice-select]').find('ul').hide();9 }4 U, e+ j; }' j- G% D# q
$(this).find('ul').show();
# @/ h: H* ^4 |% t" Ce.stoppropagation();
! m ?, T. X: O});* e& e% J4 r9 }9 f/ }" [0 x
$('[name=nice-select] li').hover(function (e) {
[3 ? {8 K: p( a" r+ P$(this).toggleclass('on');3 T X( I( f+ p3 n- x
e.stoppropagation();& y# O4 R; C$ x4 G* R
});
, C: d# e9 n% o3 r$('[name=nice-select] li').click(function (e) {
4 z+ F, o6 |' ?6 n, a. }var val = $(this).text();4 T8 U* P+ _3 ]: B
var dataval = $(this).attr(data-value);+ I2 l. H. T$ S: Q0 t0 w, E
$(this).parents('[name=nice-select]').find('input').val(val);
. f8 e' y$ Z( G c% U$('[name=nice-select] ul').hide();. Z2 L, f' {! X2 }6 T3 G
e.stoppropagation();1 X4 H- t0 z0 m9 s" L
alert(中文值是: + val);" x3 m) n1 ` H6 o# q3 i
alert(数字值是: + dataval);
$ p' r- A& N; ?0 L4 s( H//alert($(this).parents('[name=nice-select]').find('input').val());
* v1 W# s# k0 O" ]8 q+ ~4 v});
' @$ ]" g: F( t$(document).click(function () {
6 \7 t7 F4 S4 y$('[name=nice-select] ul').hide();
" [ V8 }, N% R8 g& } g' G});
4 x; n" I) x+ Z8 \& b* j</script>2 z8 d9 T& O" A( g& H' w5 h
css代码:7 U4 o! ]. d+ Y
代码如下:: F' m+ {: Y+ E8 R" G* w
body
! C) C, u% ^0 K& n8 B{
0 k% L9 n3 }8 ~color: #555;
; w3 a: y' J3 hfont-size: 14px;- H, X9 c G8 O) p
font-family: 微软雅黑 , microsoft yahei;2 k6 g# T, s- M2 M M! }
background-color: #eee;! ?6 F2 N9 _: Z5 f, |& }
}
% U- N6 i* H9 ~% Da
9 g& r/ w% ^$ e1 ^$ I; q9 l8 z{
% Y/ J8 }) Z7 B1 G" mcolor: #555;3 L9 v' |9 b: B
}
6 k! X& H! U8 M5 v2 {& v4 Pa:hover1 \+ `- }4 ~+ y
{# Z( @! n- x3 H, O
color: #f00;. ]$ a( v% g5 b% ]# u
}9 d* @& K0 F7 Q7 m
input5 ~- n5 ] Y j$ I2 r
{
. q1 W& B2 _6 t* z9 E; U) l, Ufont-size: 14px;
: `- W; [& f4 l( Ifont-family: 微软雅黑 , microsoft yahei;
6 G* H1 Y( r+ G$ @}
: {+ A6 I3 b7 o0 J% S1 k; x.wrap
9 R2 w; |& u/ v5 B1 P" k6 y{. Y9 S* A- }3 W8 Z& B: s- y
width: 500px;
, C: U& a- O7 I& M K, m! Umargin: 100px auto;: W) k' Z: K4 b6 k# G5 g9 E
}
$ _9 L6 j. W" [6 n.h20' Q) x$ h3 U% g- A
{+ d8 C$ \) q, Q a) w- }
height: 20px;
* ^ s6 Y/ G# {% U- Moverflow: hidden;
" H- [' U% @% F% Lclear: both;
! r, x& [" B: U) w; l, a! m}
5 M2 j' a" c* t2 R.nice-select: ~/ q0 @, R3 {! d6 P d
{& k- Z" M" r2 o8 h- w& v8 l" g9 V( k, X
width: 245px;: Z9 s" s: M. J0 b8 W) a A* f
padding: 0 10px;; O, v1 _' o% l* r+ i: c) X: P
height: 38px;. D: a4 q" c9 n# x# v2 }
border: 1px solid #999;
8 `9 T8 H5 i; p. v7 cposition: relative;
) U- m, F- {( Z N' ]1 Zbox-shadow: 0 0 5px #999;+ E& ]$ o5 i# d& i( |" E' A: ~* v
background: #fff url(images/a2.jpg) no-repeat right center;: X. y0 R, b! C: v, c" O6 n
cursor: pointer;
6 d& d1 O1 k5 E2 M}7 h% N* Z/ V' w* I: G2 s
.nice-select input
7 I# k5 J; E/ R( ~{1 z8 v( ]- H0 e4 h! k
display: block;9 {# n, |6 T# l# I j6 h+ m; d- y
width: 100%;$ H: X8 \2 ~8 i. [$ t4 }) u6 ]
height: 38px;8 S3 L2 \6 h% v5 a
line-height: 38px \9;) A7 ?1 r6 q% B: {2 K
border: 0;
4 `/ ^8 l9 G# U) ?: L" Xoutline: 0; g% ?" m6 C p" y3 |
background: none;
) ~+ c4 w- L5 K4 scursor: pointer;
8 Y+ w+ j. o* t}2 k, D2 G: i( i: s: T! i
.nice-select ul y5 O( B8 L0 m; |: Z/ H
{: I$ m, V& M7 t% x3 C2 f
width: 100%;" y: r/ `" f! N% |" c8 I
display: none;- J2 G6 z8 V- ^6 ^; n f2 ] r5 |
position: absolute;# P4 R2 Q$ q+ \; f
left: -1px;
( J5 V9 p# y, l$ Btop: 38px;
$ U8 T$ T! S7 H/ D, z3 x {overflow: hidden;
& B, {' J( M3 Kbackground-color: #fff;) N g4 z) f% m% }
max-height: 150px;; t9 V, Z- m* J4 \
overflow-y: auto;8 @, O( r& Y& D8 `( I
border: 1px solid #999;+ X& R: E; s8 R' m" _
border-top: 0;: S% }8 E: H: m
box-shadow: 0 3px 5px #999;
0 I/ Y5 B1 U( H5 I B0 [* Tz-index: 9999;
$ ?8 r1 a7 |' T" T- e: g( H$ g}
R% f2 C9 f- W/ S6 S! F( o1 J5 ?- q.nice-select ul li5 e% J# K5 ?; m* {
{6 [( t' w" g1 f7 o* `
height: 30px;) d2 j) H; g# s1 e
line-height: 30px;0 Q, v( o/ t5 N" [: g) d$ I8 i2 [) R
overflow: hidden;
, K' L4 @2 z1 @! H8 ?+ N+ |& Spadding: 0 10px;5 z; J0 y" g! R1 L* x B' I
cursor: pointer;
. w3 L. p$ X. K# u}, L) G1 i- n7 d% [* R
.nice-select ul li.on1 x% U6 o9 o l
{
, R `2 U: A& K6 m2 a' ^0 o3 Tbackground-color: #e0e0e0;
1 _# b! M2 c3 H}5 m6 S: W6 ~! g9 ^, J( z
代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。
/ O5 e$ B S1 ^4 S, f A- n: b, \, d( c7 ~* @; Y
更多网页制作信息请查看: 网页制作 |
|