jQuery制作简洁的多级联动Select下拉框


Posted in Javascript onDecember 23, 2014

今天我们要来分享一款很实用的jQuery插件,它是一个基于jQuery多级联动的省市地区Select下拉框,并且值得一提的是,这款联动下拉框是经过自定义美化过的,外观比浏览器自带的要漂亮许多。另外,这个Select下拉框也可以绑定下拉事件,并获取当前选中项的值。

html代码:

 <div class="wrap">

        <div class="nice-select" name="nice-select">

            <input type="text" value="==选择省份==" readonly>

            <ul>

                <li data-value="1">湖北省</li>

                <li data-value="2">广东省</li>

                <li data-value="3">湖南省</li>

                <li data-value="4">四川省</li>

            </ul>

        </div>

        <div class="h20">

        </div>

        <div class="nice-select" name="nice-select">

            <input type="text" value="==选择城市==" readonly>

            <ul>

                <li data-value="1">武汉市</li>

                <li data-value="2">深圳市</li>

                <li data-value="3">长沙市</li>

                <li data-value="4">成都市</li>

            </ul>

        </div>

        <div class="h20">

        </div>

        <div class="nice-select" name="nice-select">

            <input type="text" value="==选择区县==" readonly>

            <ul>

                <li data-value="1">蔡甸区</li>

                <li data-value="2">南山区</li>

                <li data-value="3">雨花区</li>

                <li data-value="4">武侯区</li>

            </ul>

        </div>

    </div>

    <script type="text/javascript" src="js/jquery.js"></script>

    <script>

        $('[name="nice-select"]').click(function (e) {

            $('[name="nice-select"]').find('ul').hide();

            $(this).find('ul').show();

            e.stopPropagation();

        });

        $('[name="nice-select"] li').hover(function (e) {

            $(this).toggleClass('on');

            e.stopPropagation();

        });

        $('[name="nice-select"] li').click(function (e) {

            var val = $(this).text();

            var dataVal = $(this).attr("data-value");

            $(this).parents('[name="nice-select"]').find('input').val(val);

            $('[name="nice-select"] ul').hide();

            e.stopPropagation();

            alert("中文值是:" + val);

            alert("数字值是:" + dataVal);

            //alert($(this).parents('[name="nice-select"]').find('input').val());

        });

        $(document).click(function () {

            $('[name="nice-select"] ul').hide();

        });

    </script>

css代码:

        body

        {

            color: #555;

            font-size: 14px;

            font-family: "微软雅黑" , "Microsoft Yahei";

            background-color: #EEE;

        }

        a

        {

            color: #555;

        }

        a:hover

        {

            color: #f00;

        }

        input

        {

            font-size: 14px;

            font-family: "微软雅黑" , "Microsoft Yahei";

        }

        .wrap

        {

            width: 500px;

            margin: 100px auto;

        }

        .h20

        {

            height: 20px;

            overflow: hidden;

            clear: both;

        }

        .nice-select

        {

            width: 245px;

            padding: 0 10px;

            height: 38px;

            border: 1px solid #999;

            position: relative;

            box-shadow: 0 0 5px #999;

            background: #fff url(images/a2.jpg) no-repeat right center;

            cursor: pointer;

        }

        .nice-select input

        {

            display: block;

            width: 100%;

            height: 38px;

            line-height: 38px \9;

            border: 0;

            outline: 0;

            background: none;

            cursor: pointer;

        }

        .nice-select ul

        {

            width: 100%;

            display: none;

            position: absolute;

            left: -1px;

            top: 38px;

            overflow: hidden;

            background-color: #fff;

            max-height: 150px;

            overflow-y: auto;

            border: 1px solid #999;

            border-top: 0;

            box-shadow: 0 3px 5px #999;

            z-index: 9999;

        }

        .nice-select ul li

        {

            height: 30px;

            line-height: 30px;

            overflow: hidden;

            padding: 0 10px;

            cursor: pointer;

        }

        .nice-select ul li.on

        {

            background-color: #e0e0e0;

        }

代码很简洁,我这里就不多做解释了,小伙伴们自己预览下就知道效果是多麽的简洁大方了,非常实用。

Javascript 相关文章推荐
JavaScript与C# Windows应用程序交互方法
Jun 29 Javascript
很多人都是用下面的js刷新站IP和PV
Sep 05 Javascript
javascript Firefox与IE 替换节点的方法
Feb 24 Javascript
Javascript 设计模式(二) 闭包
May 26 Javascript
JavaScript ( (__ = !$ + $)[+$] + ({} + $)[_/_] +({} + $)[_/_] )
Feb 25 Javascript
jquery实现点击变换导航样式的方法
Aug 31 Javascript
用AngularJS的指令实现tabs切换效果
Aug 31 Javascript
移动端界面的适配
Jan 11 Javascript
js模拟支付宝密码输入框
Apr 11 Javascript
layui中layer前端组件实现图片显示功能的方法分析
Oct 13 Javascript
Ionic学习日记实现验证码倒计时
Feb 08 Javascript
react-native 圆弧拖动进度条实现的示例代码
Apr 12 Javascript
jQuery元素选择器用法实例
Dec 23 #Javascript
jquery制作漂亮的弹出层提示消息特效
Dec 23 #Javascript
使用jQuery仿苹果官网焦点图特效
Dec 23 #Javascript
jQuery分组选择器用法实例
Dec 23 #Javascript
常用的JS验证和函数汇总
Dec 23 #Javascript
jQuery后代选择器用法实例
Dec 23 #Javascript
浅析Javascript中“==”与“===”的区别
Dec 23 #Javascript
You might like
PHP 中的面向对象编程:通向大型 PHP 工程的办法
2006/12/03 PHP
使用VisualStudio开发php的图文设置方法
2010/08/21 PHP
php简单操作mysql数据库的类
2015/04/16 PHP
PHP.vs.JAVA
2016/04/29 PHP
phpStudy2016 配置多个域名期间遇到的问题小结
2017/10/19 PHP
宝塔面板在NGINX环境中TP5.1如何运行?
2021/03/09 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
javascript[js]获取url参数的代码
2007/10/17 Javascript
网页源代码保护(禁止右键、复制、另存为、查看源文件)
2012/05/23 Javascript
javascript实现的平方米、亩、公顷单位换算小程序
2014/08/11 Javascript
微信小程序中顶部导航栏的实现代码
2017/03/30 Javascript
详解AngularJS2 Http服务
2017/06/26 Javascript
Js判断H5上下滑动方向及滑动到顶部和底部判断的示例代码
2017/11/15 Javascript
3种vue组件的书写形式
2017/11/29 Javascript
Vue iview-admin框架二级菜单改为三级菜单的方法
2018/07/03 Javascript
JavaScript遍历数组的三种方法map、forEach与filter实例详解
2019/02/27 Javascript
layui 弹出层回调获取弹出层数据的例子
2019/09/02 Javascript
python新手经常遇到的17个错误分析
2014/07/30 Python
Python的Django框架中if标签的相关使用
2015/07/15 Python
python如何重载模块实例解析
2018/01/25 Python
详解python中的Turtle函数库
2018/11/19 Python
解决python3运行selenium下HTMLTestRunner报错的问题
2018/12/27 Python
详解python播放音频的三种方法
2019/09/23 Python
tensorflow 报错unitialized value的解决方法
2020/02/06 Python
如何理解Python中的变量
2020/06/01 Python
python实现粒子群算法
2020/10/15 Python
python 解决函数返回return的问题
2020/12/05 Python
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
.TTL是什么?有什么用处,通常那些工具会用到它?(ping? traceroute? ifconfig? netstat?)
2016/05/09 面试题
舞蹈比赛获奖感言
2014/02/04 职场文书
员工工作表现评语
2014/04/26 职场文书
“四风”问题自我剖析材料思想汇报
2014/09/23 职场文书
考试作弊检讨
2015/01/27 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python
对讲机的最大通讯距离是多少
2022/02/18 无线电
MySQL表字段数量限制及行大小限制详情
2022/07/23 MySQL