返回列表 发新帖

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

209.8k 7
swmozowtfl 发表于 2015-7-18 00:12:34|湖北 | 查看全部 阅读模式
今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。
1 p0 _8 _+ @6 I/ L) ahtml代码:+ g( y! U. P  d% z" m
代码如下:& L8 v: I0 x! K/ c& _8 W7 t
<div class=wrap>$ b7 d; D1 m4 @* H
<div class=nice-select name=nice-select>' X8 x) B/ U/ |2 f2 k$ @3 r
<input type=text value===选择省份== readonly>
  {! P3 U/ e2 X' R<ul>/ i3 X* t3 x! i
<li data-value=1>湖北省</li>% C* S8 n* k7 m
<li data-value=2>广东省</li>4 i5 \' C# s8 i; S; i2 A7 L! M
<li data-value=3>湖南省</li>; H" ~+ F4 ^' t+ _* v( b
<li data-value=4>四川省</li>
4 X  D' _. j  K1 J* [</ul>9 `; O# T. ]$ @0 i8 o3 H
</div>
  ]# f) V+ q3 W" m<div class=h20>+ ^$ m8 M. n7 |, }/ E9 w
</div>
# A" [5 f7 y8 v1 g<div class=nice-select name=nice-select>
: Y5 c7 i& }" i6 z<input type=text value===选择城市== readonly>8 L2 s' p' W, y- ]0 V% [
<ul>6 }$ t" l9 ~$ n& P
<li data-value=1>武汉市</li>
( u* f% Y0 e* R, W! _, ^0 o<li data-value=2>深圳市</li>. f$ X- z( _0 P
<li data-value=3>长沙市</li>
. o' ]2 _, f9 B7 G2 z2 e3 {<li data-value=4>成都市</li>' B. h' C; O" A# H) J* c
</ul>
/ c; K" R' g, B1 c. o  t</div>3 Z3 h* O' G! \0 D0 j
<div class=h20>
/ d5 W4 S$ x5 B* S& k3 e1 B0 N</div>
2 P) A, f! H% J0 P! Q# w  ~<div class=nice-select name=nice-select>
- p9 c/ f" V2 S7 _' r2 @<input type=text value===选择区县== readonly>
9 n$ V; @0 f7 @; v, i" w. L5 A<ul>
3 ~1 U3 ?: y- W# G$ q' V5 J<li data-value=1>蔡甸区</li>: ^( s% {3 U. D9 z$ i5 S' E! R
<li data-value=2>南山区</li>
7 P" B- A" Y* }7 q; {/ _$ h<li data-value=3>雨花区</li>
8 ]" e) C# m, x; n<li data-value=4>武侯区</li>
& t1 }2 y1 r0 [) g; K</ul>) F" S9 \9 r/ ]9 [1 `
</div>+ G# b# v3 F  L. m2 C( L. x
</div>
' m; j- S  \7 a; u<script type=text/javascript src=js/jquery.js></script>
" H+ U) t& J  J- Q0 _<script>
' a2 X6 V7 v, X( @( a$('[name=nice-select]').click(function (e) {
( A: Y; D* p4 q8 a$('[name=nice-select]').find('ul').hide();
" C( T% f0 w; h$(this).find('ul').show();
$ r; v0 ?1 B* P7 ze.stoppropagation();
4 F# k( ^1 \. z& v$ e. f});
* }( e, t: d: \! \" ?* U- a$('[name=nice-select] li').hover(function (e) {9 R6 F5 u% I- ]' l- ~( c- L
$(this).toggleclass('on');
/ K/ n- j/ n; h( I4 E. re.stoppropagation();
0 C: W2 V4 _4 J});# \- M8 E, Q; p6 S  r
$('[name=nice-select] li').click(function (e) {: [# M' V, d; f; i, t+ n
var val = $(this).text();
/ A2 @9 a; X; hvar dataval = $(this).attr(data-value);& B0 Q% o; i: k3 k6 s
$(this).parents('[name=nice-select]').find('input').val(val);
$ i% a6 \( H9 }4 v$('[name=nice-select] ul').hide();1 E: i. D0 R5 r
e.stoppropagation();9 z* h4 y0 |0 }% S
alert(中文值是: + val);4 M+ t# V- i% h% E$ b* n
alert(数字值是: + dataval);5 @9 s0 n* I+ N6 C4 a* t+ u7 k; X
//alert($(this).parents('[name=nice-select]').find('input').val());
" c4 K1 J$ u; B  v});
6 C) y4 F7 r2 B" \$(document).click(function () {
# A/ ]! Q9 z8 }$('[name=nice-select] ul').hide();/ ^; i* q7 o6 m# ?1 G. `: \& l$ P
});4 b8 v# @. W% ~: L, `3 F& b/ s2 o
</script>
0 U8 x; ]" i9 M) |9 \css代码:! M& R$ A* K2 L. C% U
代码如下:
8 R  `& n! ~  W+ r  ]. Z. _9 S
body
5 |/ L3 W) j. L+ `0 ~{# U4 W6 |( F! B) ~& f; A" O
color: #555;6 Y5 O+ M: Z% R, \. F. _
font-size: 14px;" G: f2 ]9 D7 q! W# k
font-family: 微软雅黑 , microsoft yahei;
0 d! l. w( a9 G9 H2 C# y1 fbackground-color: #eee;$ X6 Z1 g. q! x. a4 X
}0 s" u4 m8 E7 c- a
a
# d; t7 V! ]9 U- x; f{
; Y- r7 W' j) H( mcolor: #555;
% ]" B" Y3 ]8 T+ p}6 N$ ~) G% H, ]* L
a:hover
8 h. z9 \% \. I0 R$ }% s{$ m- [* |+ L) h" c( }7 Q' Y
color: #f00;2 z8 C6 V& s. `3 a& }6 ^4 n
}# [8 Z0 c' u; ^% Y8 W' @5 U- x" p
input
2 Q$ H. Q4 ?$ K+ E8 g8 O# H* i{
. w( D% J8 a+ Lfont-size: 14px;, O# d5 c4 h% O' ~6 x# T4 a0 V/ p) ?2 v
font-family: 微软雅黑 , microsoft yahei;& b) ~2 a8 I$ I  z
}
  q3 Y: i) t. K8 i.wrap
5 S1 z$ \8 H- E, Y6 {% r{
3 o* P! B- e+ \: z+ r8 N- Z( cwidth: 500px;
3 P& P/ u) U8 b: n* }. E, k  Cmargin: 100px auto;. R. b- j2 s# x
}
/ t$ n* x7 e( l& Y.h20
# z) G! ~) E" g5 A% q0 r* r{! Q# d" u# t" d+ M$ h/ A4 ~! s
height: 20px;
% C; u5 W3 V+ Q$ I& Z: t$ Toverflow: hidden;7 ?" e0 u1 u2 z8 o9 U% @
clear: both;, U0 q3 y9 O8 ]! N2 w6 {
}  P, k8 s) W( t! H
.nice-select
% ?/ y$ C6 c7 h) k) @{" H* o/ `( y7 S5 u
width: 245px;4 G1 q3 H/ C# M9 T
padding: 0 10px;7 F, o! I2 k. J) c/ W3 K
height: 38px;  j# j; T& h7 A  ~
border: 1px solid #999;$ E1 |5 R; Y+ r. u4 g+ o+ @) m
position: relative;7 O2 h8 d4 [! }) K+ a$ m
box-shadow: 0 0 5px #999;
1 r  X. q1 Q* ]  `$ L) A% qbackground: #fff url(images/a2.jpg) no-repeat right center;
  H1 I7 D, h+ t$ T& bcursor: pointer;! o! v- i- `( {
}
; h2 u: n  `. p8 x" R& f.nice-select input
& j3 N, ?: V( O) |" l{" e; t. m0 }& d/ U0 o% E3 H1 ^& e8 h0 J$ J
display: block;9 Y- e8 A0 }1 V6 T8 L: k2 H
width: 100%;  ?7 q- Q6 L$ k0 S+ Y9 d
height: 38px;
3 V# e1 @- z6 e$ c$ eline-height: 38px \9;& Z* n6 k$ _- c- M+ D( ^
border: 0;- W& p5 B. C6 g1 k: S
outline: 0;% ?7 Z0 d: T! Q0 K2 y# p
background: none;8 \! k; M3 g2 ?1 W( G
cursor: pointer;
! ], G0 X# x( X' P3 g}
. Q. C3 a* G$ L& U/ ].nice-select ul
. D) t  C2 o; K{) ]1 A1 G: X; R" \9 }' e" l
width: 100%;
5 K' Q6 D4 N' Fdisplay: none;
: h  L+ y$ c4 t/ |$ i) sposition: absolute;. E5 T/ C+ m8 _: k- D* y9 b9 ]6 I
left: -1px;
# `5 j7 }) j1 a4 N0 P* W( ttop: 38px;% Q) U7 ~! v. v3 _7 u# v- _/ f
overflow: hidden;
8 l4 T" N- @& ~  g/ t5 C- pbackground-color: #fff;' _/ d( Z7 t+ O4 L: B6 Y: M  }
max-height: 150px;7 }: p1 ?1 L+ P" b+ u0 w" _3 N% I
overflow-y: auto;
+ Y0 K; V8 E, w) y( Q0 m2 E+ a$ xborder: 1px solid #999;" M. o% x- _, H: k+ d; b1 q9 b, Y
border-top: 0;# a3 _+ s# l" [( C  [" U0 a8 U  ~
box-shadow: 0 3px 5px #999;
/ F' z3 [4 t* t2 G2 Lz-index: 9999;8 K4 T; q3 _& G- _; ~5 ?) Z- O
}
( }6 h% [- Z" Y7 g, Y; K+ Q% E.nice-select ul li8 g" k& P( k3 b1 I: y
{
/ N, L4 y0 i& _2 E2 bheight: 30px;! K& v. |, s0 c4 X
line-height: 30px;: p4 d0 s9 M8 [# B7 f0 z0 d
overflow: hidden;
9 G7 p" v3 |% b3 e2 Y9 fpadding: 0 10px;
& Q4 M  ?- ~" @: o! Ccursor: pointer;5 [6 }  g6 V' E
}' i8 @- z$ ?+ l: B
.nice-select ul li.on1 W2 `3 H! e) }+ F
{. u/ A: Y4 m- R+ f! y
background-color: #e0e0e0;
; G) j3 W1 h" Y0 _  A}
- S8 k0 V: D2 C3 K. r代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。
6 ?- k7 r1 n, ?6 \
2 c1 [2 }* B, i; [更多网页制作信息请查看: 网页制作

回复|共 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客服 返回顶部
快速回复 返回顶部 返回列表