返回列表 发新帖

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

209.8k 7
swmozowtfl 发表于 2015-7-18 00:12:34|湖北 | 查看全部 阅读模式
今天我们要来分享一款很实用的jquery插件,它是一个基于jquery多级联动的省市地区select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个select下拉框也可以绑定下拉事件,并获取当前选中项的值。' S9 R* e# [, e
html代码:- l. W* J2 h6 k5 ?, t: w
代码如下:' Z/ Q& q* Q8 j2 N1 J" F
<div class=wrap>( y3 U! _0 Y+ a7 H- |/ h' L
<div class=nice-select name=nice-select>9 D7 i/ d9 z$ ]: M- e. {9 i) F4 W; g
<input type=text value===选择省份== readonly>& f3 }$ k$ i. U7 N
<ul>; j! S  O# t1 r& n! _3 U
<li data-value=1>湖北省</li>
2 X" q" n5 u) s/ K5 A* z6 L' v<li data-value=2>广东省</li>
' g. @# X  a! Z* f<li data-value=3>湖南省</li>
/ X5 p# O* z5 ?9 P9 T% e) n<li data-value=4>四川省</li>
( ]# j0 s. p  {7 `8 \) l4 B9 x</ul>0 o& \! K7 j, Q( J
</div>
  p+ E; ?% ]$ B( Y<div class=h20>9 \& I4 K% k& _# r9 o8 r. U
</div>
6 S( J4 ]5 o! D2 N) N9 X6 Q* K<div class=nice-select name=nice-select>& X4 |8 a4 S! b+ _6 [
<input type=text value===选择城市== readonly>
0 R- }" W, y( E( M' _  J9 |; w<ul>
, m/ Y  u' L0 L<li data-value=1>武汉市</li>  d1 l( E+ s2 u9 w& C2 w
<li data-value=2>深圳市</li>' \% B: s2 c- V
<li data-value=3>长沙市</li>
6 j4 F- X) u) l% s1 s% g* B<li data-value=4>成都市</li>; m% b6 i) C  M4 [% v: A2 [
</ul>
. j% f: F  b) q+ Q" A! |- ]& {</div>  h, c! c( W0 \& n# r: C
<div class=h20>
; k, Q6 h% m/ f( C* O1 n</div>  Y+ y# }: U1 q& Q( {3 Y; R" U% f) {& I
<div class=nice-select name=nice-select>
6 C% C. |3 \; b& W+ H1 o0 O9 M<input type=text value===选择区县== readonly>4 ?3 {1 b$ P0 Y- w- r. d
<ul>
- @$ H! x* ?: g<li data-value=1>蔡甸区</li>
0 k3 r; M" ?* ?4 u6 d<li data-value=2>南山区</li>
1 A, h; `; P6 |6 K& Z<li data-value=3>雨花区</li>
: f- S, N+ q; \) Z<li data-value=4>武侯区</li>
4 V* ?: y8 Q6 V$ u# X</ul>( }8 B' H. {, @8 I; t( x/ @& G
</div>. y8 g* ^* c% W
</div>
6 I" x& W& e& j. T/ l% Y4 L1 O<script type=text/javascript src=js/jquery.js></script>) o8 ?- m( x7 {% M2 k7 y8 v/ F$ x
<script>
% E$ y1 p8 @- W+ N# o' N$('[name=nice-select]').click(function (e) {. h5 K6 V8 y2 {% W$ q
$('[name=nice-select]').find('ul').hide();0 q& Z; X) [- i9 A2 b1 E8 U
$(this).find('ul').show();
5 K$ y1 [. C, i, t" g3 Fe.stoppropagation();
: x5 s. s4 v* Z( U});. _+ t* U+ Z# ~0 h
$('[name=nice-select] li').hover(function (e) {
  {+ G  \. n& t6 m7 a: x$(this).toggleclass('on');3 Y" \8 r, L  z9 K. |5 @
e.stoppropagation();- m2 ]5 d. X) ]  C9 G' H# z6 ^' F, w
});; M+ l1 d8 S+ O9 P" G
$('[name=nice-select] li').click(function (e) {' D. T; u3 V5 b. f; O- q& [
var val = $(this).text();' h) {& s/ ]: m* j, i7 ]0 @5 g) f% y
var dataval = $(this).attr(data-value);
: M. T1 T( ]7 N: a2 A% O1 W1 V$(this).parents('[name=nice-select]').find('input').val(val);% H1 ?  W6 b) f1 d2 l
$('[name=nice-select] ul').hide();2 z# D) U6 B8 j+ C' P2 Q
e.stoppropagation();  q! y1 J) E4 p7 q* ]) d
alert(中文值是: + val);
" |' Q1 @1 }7 J. v# M3 Z2 Talert(数字值是: + dataval);  L0 ?- U5 I9 \( K
//alert($(this).parents('[name=nice-select]').find('input').val());
1 B4 o! ~% i, g6 v2 W});! @0 L7 [3 @9 S1 J8 |- ~+ P6 r
$(document).click(function () {
$ C: q/ ?" e* d$('[name=nice-select] ul').hide();" ?' |; N/ P: w6 Y5 }2 ]- a1 y
});# d) m& n, G$ K% X- |0 z8 q  s
</script>/ m) K& ^0 d, Y  U
css代码:3 y% m. W* ?" {% r* e1 b
代码如下:
8 ^: q2 l# C3 v' d& l5 e
body
, l5 U  k0 A& [& F$ ?, Y{
. g! p& ^, y- D6 d' c( Xcolor: #555;( R9 [3 G/ x* ^8 U6 N
font-size: 14px;# C# I" m2 w, @5 |- Q0 b3 F
font-family: 微软雅黑 , microsoft yahei;
* \) z9 C' G' D6 F. d: Obackground-color: #eee;2 u; E8 W7 T$ k7 j# `( r1 L( `
}
% |  p+ @8 z" \* Oa
( E* Y/ z* f6 d3 \2 Z$ ]{* e6 s1 h) f5 j$ u. d3 T0 G" ?9 J
color: #555;
: {: D5 j5 d. s( Z/ Q" K}
  Z/ q$ F4 ~- T- _8 O) ua:hover
# J  d/ G* w; C/ E. _. ~+ a{
5 y% |! g+ Q: z1 e. i- _# L5 icolor: #f00;" P* T8 H: R: s. |  Q+ `8 {
}# T: e) x. l% J$ h+ V
input
( A2 R5 }. N% f{$ ]+ k! Z/ W' e% M0 @: T3 ~9 J
font-size: 14px;
/ R4 l5 v2 M* H; V" R9 K' {font-family: 微软雅黑 , microsoft yahei;/ p$ g% u8 M: ?/ N, y
}
  \+ @1 n7 n# \% A& y/ o5 M2 M' e+ a.wrap
% o* E+ r$ A) ], V) f( |# h$ ?{
4 ^7 z( q/ A: a/ C8 j$ }6 Y' k8 mwidth: 500px;4 C$ E. j' A  s' A2 a0 I4 i, |) B
margin: 100px auto;4 B% V+ b0 `. \  }+ e
}  K# A6 o6 M4 K: x: w, Y+ t
.h20, i. {2 E- b! H$ O( p% V; c8 i
{
% Y! B3 T# i$ i- t* `% j" Mheight: 20px;* ^8 Y2 k! |0 i  Z. n& w. n! P
overflow: hidden;; M8 p) _5 P. u
clear: both;
' e0 e% a5 T- l) {) o% l  v}
+ d( }1 i( n/ B/ Z; o' ~.nice-select
. t1 L; b+ ?6 T6 p, d{
9 D, ?& ^! G& V& t+ e7 e5 v2 Ywidth: 245px;
, B* q" h: ?6 c6 wpadding: 0 10px;
& y8 j& L: M6 i* k1 w& pheight: 38px;( |  b: [, p+ x& S8 Z$ _! ~( C
border: 1px solid #999;
* c; U5 p2 y5 z9 qposition: relative;
0 ?) v7 B1 w3 Tbox-shadow: 0 0 5px #999;
0 n+ C0 F3 ]/ z. q) xbackground: #fff url(images/a2.jpg) no-repeat right center;: H' o. m% ]& r9 }' I
cursor: pointer;
, p4 @" d- A' K# R5 F4 v- c; U}  N' m- p2 c8 k: s
.nice-select input9 Q/ B* p9 f* y, Q! p% W
{# r/ O, L5 n/ u! {- b6 F2 ~
display: block;2 t: T! l; n- u. Z& i. ?3 L
width: 100%;
5 N1 V3 i' I9 Z5 ]' ~$ _! oheight: 38px;% i* S9 k$ i4 N
line-height: 38px \9;
' B0 ^, }+ m/ w5 S+ ~7 k9 Oborder: 0;
  Z+ F. O4 J5 E. k( g7 Ooutline: 0;5 ^/ Q3 C# L" c
background: none;0 g$ c3 T6 H4 x! a# B: T) {% Z
cursor: pointer;4 F2 {+ [1 O8 C5 r' ^$ `+ B
}
' E9 l" l4 z3 T0 ^2 i+ `0 C" G.nice-select ul
, `' D3 K1 @$ P: z- _{1 g, I' K$ g7 y6 W9 r
width: 100%;; J, M" L, ?. ]
display: none;
2 G. F7 ~0 u; F7 z4 tposition: absolute;( ?) p9 _) h% ^- [" \& M
left: -1px;0 }3 S- ^# g% p, j! r5 P
top: 38px;( m% m8 s! r% ^8 Q) Z+ ?7 a
overflow: hidden;
! F8 a( H: P$ Z% \2 F6 ?background-color: #fff;
& z% X' e! ]; q3 d- o, p0 pmax-height: 150px;
; y& J( W0 q/ L8 F) c: poverflow-y: auto;
$ ?# e% M5 q$ }3 y) |% v& xborder: 1px solid #999;4 N# Y" v0 M+ R" L% d: q. Y2 V
border-top: 0;
; i- V! z- D# K  O% d8 B# O# Nbox-shadow: 0 3px 5px #999;0 W8 d. I* Q/ \% R7 Z. K
z-index: 9999;
& m5 Z+ k% x7 w, h& v, `}
% p* L/ I# G% R9 T5 W.nice-select ul li
1 b/ h3 N& z) h; A( i& t: G$ t{
) q: G! Q" g; i  K  xheight: 30px;8 L/ n- Q& Q8 J& C4 a- M/ @- i
line-height: 30px;' K( l# @  C4 d: I3 i+ b6 D  Y
overflow: hidden;
- r% K3 X. F. ~5 j3 Fpadding: 0 10px;: n: s1 h$ T; V' j" r* a, r+ w
cursor: pointer;6 D6 x$ k' k2 C; J. \4 t
}
% o( i( K/ ^& K" I% F5 O.nice-select ul li.on
& a7 Y9 U; [+ C: d" {. F: Z7 k7 S{
# ^/ I1 y6 R2 w  G  Pbackground-color: #e0e0e0;
# e1 }& \. j, i4 f}+ _$ n( H6 t/ ^4 ?2 c& @) z
代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。2 q- n& ~9 j! m5 B1 o% g
3 w( f6 r2 }+ X2 C
更多网页制作信息请查看: 网页制作

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