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 相关文章推荐
经典的带阴影的可拖动的浮动层
Jun 26 Javascript
编写可维护面向对象的JavaScript代码[翻译]
Feb 12 Javascript
js、jquery图片动画、动态切换示例代码
Jun 03 Javascript
JavaScript中的单引号和双引号报错的解决方法
Sep 01 Javascript
jquery中change()用法实例分析
Feb 06 Javascript
fastclick插件导致日期(input[type=&quot;date&quot;])控件无法被触发该如何解决
Nov 09 Javascript
JS本地刷新返回上一页代码
Jul 25 Javascript
BOM之navigator对象和用户代理检测
Feb 10 Javascript
使用js获取伪元素的content实例
Oct 24 Javascript
javascript与PHP动态往类中添加方法对比
Mar 21 Javascript
Angularjs实现控制器之间通信方式实例总结
Mar 27 Javascript
es6中let和const的使用方法详解
Feb 24 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
PHP4实际应用经验篇(2)
2006/10/09 PHP
Array of country list in PHP with Zend Framework
2011/10/17 PHP
浅谈php的TS和NTS的区别
2019/03/13 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
jQuery 对象中的类数组操作
2009/04/27 Javascript
引用外部js乱码问题分析及解决方案
2013/04/12 Javascript
Javascript中克隆一个数组的实现代码
2013/12/06 Javascript
js中运算符&amp;&amp; 和 || 的使用记录
2014/08/21 Javascript
让人蛋疼的JavaScript语法特性
2014/09/30 Javascript
javascript消除window.close()的提示窗口
2015/05/20 Javascript
javascript 使用for循环时该注意的问题-附问题总结
2015/08/19 Javascript
微信小程序 教程之WXSS
2016/10/18 Javascript
基于jQuery实现选项卡效果
2017/01/04 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
详解如何使用Vue2做服务端渲染
2017/03/29 Javascript
js注册时输入合法性验证方法
2017/10/21 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
Vue实现购物车详情页面的方法
2019/08/20 Javascript
[49:27]2018DOTA2亚洲邀请赛 4.4 淘汰赛 TNC vs VG 第一场
2018/04/05 DOTA
python使用7z解压apk包的方法
2015/04/18 Python
Python cookbook(数据结构与算法)让字典保持有序的方法
2018/02/18 Python
Python实现针对给定单链表删除指定节点的方法
2018/04/12 Python
几个适合python初学者的简单小程序,看完受益匪浅!(推荐)
2019/04/16 Python
利用rest framework搭建Django API过程解析
2019/08/31 Python
Python爬虫之urllib基础用法教程
2019/10/12 Python
python 项目目录结构设置
2020/02/14 Python
python设置代理和添加镜像源的方法
2020/02/14 Python
EJB包括(SessionBean,EntityBean)说出他们的生命周期,及如何管理事务的?
2013/02/17 面试题
高中毕业生自我鉴定
2013/11/03 职场文书
公司门卫管理制度
2014/02/01 职场文书
关于青春的演讲稿500字
2014/08/22 职场文书
三年级学生期末评语
2014/12/26 职场文书
2015年119消防宣传日活动总结
2015/03/24 职场文书
2015年房产销售工作总结范文
2015/05/22 职场文书
《和时间赛跑》读后感3篇
2019/12/16 职场文书