返回列表 发新帖

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

209.7k 7
swmozowtfl 发表于 2015-7-18 00:12:34|湖北 | 查看全部 阅读模式
今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。
+ t6 m& R! s9 zhtml代码:8 Y  k. d( A$ p/ f) Y  k
代码如下:
" F# {1 e  a( `* r. s
<div class=wrap>
/ ?8 n8 e, _+ v" g- s& H4 K, k, A<div class=nice-select name=nice-select>
* _  J/ c6 Z0 r<input type=text value===选择省份== readonly>
1 U) n- f  K9 Z- _, o  U1 C$ I$ q<ul>6 P, ~, o/ W' L
<li data-value=1>湖北省</li>5 v- ?* B- x. p0 h4 p
<li data-value=2>广东省</li>
3 d, q5 f8 M# n6 B8 X9 ^<li data-value=3>湖南省</li>
3 `4 X, i) }6 S; H$ }0 n<li data-value=4>四川省</li>1 P) \" t0 _: h+ N
</ul>  `: G! X+ S! O+ u: q; j
</div>
, S9 [6 [. d% h/ v0 S) z! K<div class=h20>
- J8 v' |& l$ I. p: f' T: B: k& c</div>
' I4 S; r/ m) t3 O<div class=nice-select name=nice-select>
. g1 p2 n) L! T2 Q5 q. c( e! y<input type=text value===选择城市== readonly>  Z4 |  q7 I* w! l9 b$ S% }
<ul>& r" E4 F& v6 C" s  P- ~' q
<li data-value=1>武汉市</li>3 E7 _$ X) F% a8 ]% ?1 ]1 m" D+ \
<li data-value=2>深圳市</li>: v% O) b7 G5 V5 `: b/ r
<li data-value=3>长沙市</li>
" h) i# w' _- ~" M9 `- ~6 v<li data-value=4>成都市</li>5 A7 e! V& F' W
</ul>8 ]; g) p$ w  K- u( D1 A5 U& e
</div>
+ P! e& K& ]3 {' I- o<div class=h20>
9 F9 L9 T$ d- j* e- y$ {: S</div>% Y" ?5 D% k3 H) r- K8 S% R
<div class=nice-select name=nice-select>
# m0 F8 I  R9 a* r<input type=text value===选择区县== readonly>6 c, c4 d1 Y" u) [
<ul>0 m: i7 K/ i; R
<li data-value=1>蔡甸区</li>
' K7 B1 ^- \! T' {" }<li data-value=2>南山区</li>
: H/ |; g: e! h6 C* r* Q3 g<li data-value=3>雨花区</li>
" e1 E) N. U0 D& e1 K0 E<li data-value=4>武侯区</li>
8 A: K  H& w7 X. V% ]7 E</ul>
8 x4 Q% d/ W$ u: r  d5 M</div>  G, k( }' |  W9 E# k' q. J* Q
</div>+ @& Q- y) V/ K3 A% U
<script type=text/javascript src=js/jquery.js></script>
$ |  Q2 f8 n$ u0 Z9 b  l2 E/ J<script>
3 i  F) p  A. Y1 _# f$('[name=nice-select]').click(function (e) {" O" t' O& ?7 `% j5 r- F
$('[name=nice-select]').find('ul').hide();
3 f, A8 x" P  U7 M! X$(this).find('ul').show();! K% A7 v& n) i8 |1 y( A$ Z, y4 h
e.stoppropagation();0 N. I# @0 ]: W* j- j4 i9 Z* d1 r
});
( C) x2 @  `2 _7 i; T3 G$('[name=nice-select] li').hover(function (e) {! K) C" k) i7 @
$(this).toggleclass('on');
* Y7 Y, D) l) n; ^& t% w- g% Je.stoppropagation();
& H' Q. X5 p' d' _6 a9 _  n, X});; T7 b3 p) B6 L( {. X1 k
$('[name=nice-select] li').click(function (e) {
" i  {- G! s. S+ Rvar val = $(this).text();8 E. l0 B& A7 Y) A( S1 ~' u
var dataval = $(this).attr(data-value);3 M/ p( M0 j" p! D% R" ]. V
$(this).parents('[name=nice-select]').find('input').val(val);, u$ f" T  v6 ?" V# r3 q8 \+ {
$('[name=nice-select] ul').hide();" U& \* z: {: x
e.stoppropagation();
  A" e8 I$ J! d5 R7 ialert(中文值是: + val);
$ L2 U& D+ ]2 jalert(数字值是: + dataval);
: R) S, }& }0 n/ ~//alert($(this).parents('[name=nice-select]').find('input').val());0 h2 ]' v, @. _/ S& W
});
& a4 C0 P8 o, U/ d# y7 B$ [$(document).click(function () {" I2 k4 I5 [$ O4 K
$('[name=nice-select] ul').hide();
. @. b7 p2 p4 |; @9 I});
% L# \) N$ c. l* _5 k$ Y/ k- S3 J</script>
0 s5 ~' {! M# m4 X0 Fcss代码:7 I  Z# n2 {( L5 L
代码如下:
0 s5 \; I5 N  p8 |
body' @8 \4 U: K4 |9 e: g1 }
{
( e: y* y/ L( j3 k! |& Y7 b1 ecolor: #555;, t9 C) p. G/ ~/ s
font-size: 14px;7 A4 H( G- g- A8 j7 t
font-family: 微软雅黑 , microsoft yahei;
+ s; s$ k. T! K% `background-color: #eee;  M! @" {7 D# p) _  m; ^; Q0 Y
}4 Q) i5 ~: O1 M8 P$ l: y. M
a) ?/ S$ C. ?  W, n- P0 E+ C" p
{
$ d9 S8 F/ D9 d3 d* Q0 pcolor: #555;0 {. y- q4 s* R. T4 d& a
}) c+ E7 A& n# p1 t  e$ z' V9 @
a:hover
7 v+ M( y" X. e: [% C& b0 E{0 p9 P9 Z. M% Q# f0 s9 ?  z
color: #f00;
$ u6 l. w% o% D}3 ~* M' E- z5 ?& r* H( S
input
, z/ h/ x- M5 t4 G2 t( v5 H{' A2 v; Y. E2 f7 v1 N/ d
font-size: 14px;
; w1 Z( `  v7 X. A7 Y2 U# _font-family: 微软雅黑 , microsoft yahei;: @5 A; G4 l- G1 `' ~+ t
}. h2 G0 {9 i' r4 \! n. V4 a2 \, r
.wrap' ~* T, }0 B! x" m3 p
{: h8 K7 A: q, s  W# h
width: 500px;
% v- ]! n" D7 x% f3 g# umargin: 100px auto;
- s, D  f6 P1 \; e}: n! u  z0 y7 z0 e: j1 |' d
.h20
  _2 R0 Q. R1 u) f0 D) H{
0 i. @6 q  M7 Rheight: 20px;
6 S5 k3 q2 v3 d7 U/ {. I  D$ uoverflow: hidden;  W0 k. U3 {) D( G) ]6 T9 J  _
clear: both;+ B. |; p& K9 o) Q6 T
}
) h% ~/ s/ H( I; S: h.nice-select
7 Q* U2 h" z6 f9 |* m7 Z+ Y6 N{" ?3 ]: j$ s9 Z) k# R( k
width: 245px;
% K# Z" T" R+ ]. V. d! J7 m; N- Vpadding: 0 10px;
- S1 y5 ?' U0 Bheight: 38px;
4 M" W# t: G% i, r. Aborder: 1px solid #999;$ m: J. d# f# S4 \5 {/ g
position: relative;/ `5 a/ a7 }4 Q  U  Z
box-shadow: 0 0 5px #999;
! \! f& x% A8 K6 Xbackground: #fff url(images/a2.jpg) no-repeat right center;
, F$ A5 }) o1 Rcursor: pointer;
1 {; M7 l3 l" d' t! u}% J7 O! {1 `1 R  T. H
.nice-select input, k: M( M1 z, D- d; P1 ~. O
{/ T! l$ l& b2 s# j. g
display: block;
0 H6 o8 l" Q5 v1 m- Cwidth: 100%;
3 W# _+ [7 O: }/ H- G4 mheight: 38px;. X. P5 W4 w( w7 ~% d1 d! I
line-height: 38px \9;7 B. I6 ?& i4 G1 U1 `% ?
border: 0;9 s/ c' R! v% v0 _# \+ f: ^0 Y9 b
outline: 0;2 g- V0 F1 J1 O. {& O; @, F
background: none;: z2 A: }4 s8 ^5 k# V7 F* n
cursor: pointer;  u* W. t4 m! |* ?$ l# ]9 B2 b9 w! ]+ h
}
6 {1 D, C0 Y* y# c7 b, z6 Z# y.nice-select ul
+ ^8 [4 k3 s! l1 T  o{& R+ }& X7 i$ f4 ]7 h3 X
width: 100%;. j# P, G  ]4 Y8 ~6 N
display: none;
4 [! Q, o( q/ H: g2 Dposition: absolute;
$ v2 {5 r) s& P& w4 `left: -1px;
3 |# j$ d  ]" E+ ]! Y; Ktop: 38px;
9 f1 G5 E" ]% x. z4 i7 Toverflow: hidden;8 w& f4 L' s' c/ |. J4 D
background-color: #fff;
4 q, k; k; s4 S3 `; r. Lmax-height: 150px;
) j1 W- ~( @5 [* d0 @8 D8 Q* E. soverflow-y: auto;
$ a! E8 ]2 k8 [9 [0 xborder: 1px solid #999;4 H+ n- X0 Y7 k: A  ~6 A0 E, _
border-top: 0;
8 P: o1 f' }- l3 n8 p1 W0 e3 vbox-shadow: 0 3px 5px #999;
/ L9 M) n& N* N( H* U9 qz-index: 9999;
; e8 A* q7 N3 H! k: ~$ ~}1 ~1 k; Z+ j3 g
.nice-select ul li% |! k5 C/ y, l' p
{" `) Y. P2 m. i. A* |. h
height: 30px;
5 ]5 J9 G- s3 S6 C: [' A9 d; s2 Yline-height: 30px;
- r8 E+ z, R/ ^8 A2 G1 xoverflow: hidden;
' Y' u6 n  H! v5 u# U4 x4 G3 F4 Y* dpadding: 0 10px;- O9 d& @& Q1 x) {7 s# t9 X
cursor: pointer;
# V2 x2 X( T* I3 [3 D( P}+ `  `/ [4 B! y' S+ O. J6 n
.nice-select ul li.on: p) e  A' k# j
{
1 |2 G) K6 i4 u: x; Ybackground-color: #e0e0e0;+ x; d3 S2 Q+ ^. T& t% Q8 `
}, d9 v" D7 E) s1 b  T2 s' ?2 F9 K
代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。
0 X( |3 c2 J* U: F1 N$ [4 x& F% J5 U& T; N& |9 Y  Y8 j% n
更多网页制作信息请查看: 网页制作

回复|共 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技术交流平台 版权所有 All Rights Reserved. Powered by Discuz! X5.0 鄂ICP备15006301号-5|鄂公网安备 42018502006730号
关灯 在本版发帖 扫一扫添加QQ客服 返回顶部
快速回复 返回顶部 返回列表