返回列表 发新帖

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

209.8k 7
swmozowtfl 发表于 2015-7-18 00:12:34|湖北 | 查看全部 阅读模式
今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。7 f, X7 d6 W# Q& o& {# Z7 p
html代码:
) P# A* }! c6 O) V9 o7 p7 Q代码如下:
' t! u5 n7 y  G3 d" |
<div class=wrap>
+ U- {0 H3 M5 E! y* g% g9 C<div class=nice-select name=nice-select>
: ~4 k. z: C" q" z* G% H" |<input type=text value===选择省份== readonly>
% f# R1 P  _& u! T) |# H3 {<ul>
- P  z4 s6 C6 o<li data-value=1>湖北省</li>! k9 U- v- M8 n7 c; ^
<li data-value=2>广东省</li>
" u* z$ s: [- H$ d<li data-value=3>湖南省</li>
; V  b! n) b% [1 k/ J  |) x<li data-value=4>四川省</li>
' e! A7 b+ k5 j0 C! F( |</ul>
4 W8 H5 G: v' M4 r$ B* X</div>4 o) b5 s* V% e- a/ `: N1 c
<div class=h20>
2 Z' j) \. r9 u. u# l! }9 Y  @</div>/ b6 g. f4 `+ i" d. [( Z3 B% O
<div class=nice-select name=nice-select>
( K4 Z4 t4 {% j<input type=text value===选择城市== readonly>
" W' r9 \5 T: U- _' j<ul>
+ b" }. [! O' U( G<li data-value=1>武汉市</li>
$ c, Q! a4 X  C2 v<li data-value=2>深圳市</li>
1 \, ?" r2 I2 b1 C5 f* j* k<li data-value=3>长沙市</li>
" f1 g; D# t: K+ [<li data-value=4>成都市</li>
4 r, S5 r& ?; O2 [1 k& G) `</ul>$ E) j7 d# L6 Z& S: x3 O
</div>8 |* U+ ^8 w2 w2 k0 `8 i. \
<div class=h20>
+ b" P; o- u( i* s* t# K</div>; O  P' Z, C1 |; [( L
<div class=nice-select name=nice-select>
& W: z: x7 c7 c/ u: ^# s<input type=text value===选择区县== readonly>
. J9 ]$ t+ @2 e6 v" u<ul>
; _# c8 ?/ A+ G' U- J1 ]<li data-value=1>蔡甸区</li>7 Q9 p9 _8 F+ P
<li data-value=2>南山区</li>
7 C7 P- z6 t0 p: w<li data-value=3>雨花区</li>, j: [) ]' _% F& A
<li data-value=4>武侯区</li>. x) g' M7 L% ?1 s- g% v* n
</ul>9 M6 T/ ]& Z! f
</div>
1 ~3 q7 \; x6 e$ F% S</div>8 x- h4 F$ O! |: e
<script type=text/javascript src=js/jquery.js></script>
2 K' J& J1 X- l, c. o9 y<script>8 M% e- \6 S3 d& K
$('[name=nice-select]').click(function (e) {! V' b8 G" w! b; h; m( n/ E* r5 ?7 B
$('[name=nice-select]').find('ul').hide();
$ N: W! j, }. I% H& E$(this).find('ul').show();$ u# u$ @+ ^$ ^, }  H9 d
e.stoppropagation();
' C( s( g* H# [7 ^8 {});8 A5 l& r( p# k7 s# }+ R
$('[name=nice-select] li').hover(function (e) {
: w. [7 S3 m7 v* K8 f3 L$(this).toggleclass('on');
& [1 C, T3 D' c. A+ J+ }e.stoppropagation();
, y: B9 J* r9 c, p9 B/ O7 e});
7 e. w; r! l. {5 d$('[name=nice-select] li').click(function (e) {' K* D3 l' ^5 d9 N: c- F5 Q' B0 Q
var val = $(this).text();
' |8 d% j2 c: q$ Evar dataval = $(this).attr(data-value);1 w2 g$ h9 U9 l, d
$(this).parents('[name=nice-select]').find('input').val(val);" l9 ^6 D/ u' ?9 U# j6 O, C
$('[name=nice-select] ul').hide();
4 v$ a8 U; ^9 le.stoppropagation();  P8 x* {6 p/ A8 M, e
alert(中文值是: + val);5 x: E9 Q  w2 W* ^4 r( j, S
alert(数字值是: + dataval);
; i* }! x% L& U9 P( h3 e//alert($(this).parents('[name=nice-select]').find('input').val());
3 o* N  C% I' Q4 j& f* w& ~});) `0 }4 t) L9 B+ t. r
$(document).click(function () {% }! K$ K1 l4 M! K% ?
$('[name=nice-select] ul').hide();5 @; Z0 ^- h# U+ H* V
});* r, W6 r. j& i* p
</script>! C) k* C3 D& x! H
css代码:
8 O+ F: E1 _$ l代码如下:
% N! J; s$ J4 N  J
body% m3 r1 ?: s: |  x6 V* n9 O
{
4 T9 ~2 x5 v4 M# \9 r* bcolor: #555;
* U7 w6 O$ G4 u& p) `+ f3 wfont-size: 14px;" P# I; _! C- O! L
font-family: 微软雅黑 , microsoft yahei;
& ]" e2 o6 s( w# x& \, S' S4 B( t! Jbackground-color: #eee;' F' E& y  S' v8 R
}- l! Q, y9 s8 P; z& o1 ]0 ~
a! g4 s+ Q2 d) L" K5 j
{- h7 h" I" v3 l  N! y
color: #555;
  ~4 X) s- W2 E! D5 }( ^}' i0 ?/ c  `! l- f0 H
a:hover
' y4 Y5 p# Y- _) p1 \{. c" G6 {' Y! R3 y. M
color: #f00;: T  [+ c" A$ c
}
( B3 \& V  i5 B+ Pinput
' d5 {8 T; E' i+ x! q{4 w. \# d$ b7 Z0 H
font-size: 14px;0 ]2 k# K+ @4 I8 a. F
font-family: 微软雅黑 , microsoft yahei;3 Q3 ]$ N$ L$ L+ ^. x; c
}
# }* U! a  m( Q: ~% _.wrap- r6 F# H5 R' i$ }
{7 Z2 C1 N" s& ?% I* u
width: 500px;4 @5 {8 ?1 ?1 b! h" j
margin: 100px auto;. y' S& [+ y7 E' I0 \- g
}3 O( ]+ C, }# V7 c, {
.h20
' U& Q# O3 q9 e9 G: o{4 d+ Z3 C0 v, S6 R) t2 W
height: 20px;
. R" R  T2 _) y; n  m3 coverflow: hidden;' Y, M/ Q. l7 M; u# W8 }
clear: both;
+ r5 a! K- u' O( X1 G4 i}! x! b/ Q' \+ J# ^
.nice-select* K! }6 f2 N  c% i
{
* B0 i7 d# r, ]8 H) f& `9 rwidth: 245px;
/ X. y. j# d: [6 Dpadding: 0 10px;  j- p$ R, C! t: i
height: 38px;
" x. H8 q  g( Q+ |# N0 b/ y9 B4 zborder: 1px solid #999;4 ~3 Z! z+ b) v6 w
position: relative;! h$ ]) w: R/ g  E
box-shadow: 0 0 5px #999;
8 L1 T2 X" m3 p$ tbackground: #fff url(images/a2.jpg) no-repeat right center;
/ z1 l3 O. u, ^1 c, P- }0 Kcursor: pointer;5 F5 I4 W, u# f; n
}; }- P2 A# |8 o) s7 h. E
.nice-select input
, y$ o/ J! d% \$ L/ o1 b{
  c* i1 m$ Y6 Vdisplay: block;
* T# d6 ~, l- q0 n: owidth: 100%;
* b8 U& G0 }0 d: Z5 D' ?5 [height: 38px;
. b. S- q8 E2 `, f9 Zline-height: 38px \9;
' X) D- k$ p* L( H6 t* dborder: 0;( V- W: d, u+ J; W$ Y: a" @6 g
outline: 0;
( c$ z; P6 U, h6 d4 Lbackground: none;
$ ~/ V' U- F. rcursor: pointer;
7 L1 c4 w) a8 P; l}
$ I/ U: |% a; V" G  x.nice-select ul
% R+ [& g# Y" y* L{
6 f  ^" M( J: L" k2 L2 D5 V8 b/ mwidth: 100%;( [5 ?# S4 \2 z4 x% h
display: none;
# [6 L9 E; Q4 `/ tposition: absolute;8 W8 O# ]  T8 Y
left: -1px;; D# P2 `. q7 @
top: 38px;
+ i# `* q0 B3 |3 [) coverflow: hidden;: [, d) p# K$ e( {* R
background-color: #fff;9 Q# k: L6 v7 c& A( d* p- S/ |
max-height: 150px;
# g# V+ d3 c  [: @. y0 ?/ X: loverflow-y: auto;4 A8 g3 d" x; f2 h; R, u
border: 1px solid #999;+ L! Y: n* z8 G* [5 F& k0 B6 H# C. _
border-top: 0;
7 Z6 ^! Z$ p6 r3 V4 cbox-shadow: 0 3px 5px #999;
1 M* I0 R, P/ V! Rz-index: 9999;9 ]* l6 H9 x" W0 D
}
$ u- d4 Q- ]+ u% m1 ]4 R; i' [.nice-select ul li  ?$ `+ I* o9 N; H
{
( U3 N/ O/ S7 G' m& {8 kheight: 30px;1 S# u* I$ v0 Q' f
line-height: 30px;
; N, v( C, L( B6 Y1 foverflow: hidden;1 y( z) |, ?7 x6 b! e+ i
padding: 0 10px;: ]* t( E+ f0 M8 g# [) ]
cursor: pointer;
# f& V$ {) B) i+ q( Y5 |9 ]}
: K. u! s2 ~( q; G5 @/ \1 A.nice-select ul li.on
' k2 @+ g$ ~3 P5 F{
. N( B4 T# V1 T5 m0 Pbackground-color: #e0e0e0;
3 k+ h8 W) w+ Z}
8 d0 G) N" Y' d5 j: X- s4 Y1 i代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。
( X! w; X/ @+ ]7 S: v! Z7 c# C
: Y7 b. s# Z: l9 o: D7 B% V更多网页制作信息请查看: 网页制作

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