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 操作文件 实现方法小结
Jul 02 Javascript
JavaScript中使用concat()方法拼接字符串的教程
Jun 06 Javascript
JavaScript面对国际化编程时的一些建议
Jun 24 Javascript
jquery实现浮动的侧栏实例
Jun 25 Javascript
跟我学习javascript的隐式强制转换
Nov 16 Javascript
基于Bootstrap使用jQuery实现输入框组input-group的添加与删除
May 03 Javascript
javascript正则表达式中分组详解
Jul 17 Javascript
树结构之JavaScript
Jan 24 Javascript
yarn的使用与升级Node.js的方法详解
Jun 04 Javascript
Node Puppeteer图像识别实现百度指数爬虫的示例
Feb 22 Javascript
小程序跳转到的H5页面再跳转回跳小程序的方法
Mar 06 Javascript
openlayers4.6.5实现距离量测和面积量测
Sep 25 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将数据库中的电话号码读取出来并生成图片
2008/08/31 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
2014/06/26 PHP
php+mysql删除指定编号员工信息的方法
2015/01/14 PHP
php计算一个文件大小的方法
2015/03/30 PHP
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP数学运算函数大汇总(经典值得收藏)
2016/04/01 PHP
js检测客户端不是firefox则提示下载
2007/04/07 Javascript
JQuery的Validation插件中Remote验证的中文问题
2010/07/26 Javascript
JQuery优缺点分析说明
2011/04/10 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
详解jquery uploadify 上传文件
2013/11/09 Javascript
一个不错的字符串转码解码函数(自写)
2014/07/31 Javascript
JavaScript中的fontsize()方法使用详解
2015/06/08 Javascript
jquery实现的用户注册表单提示操作效果代码分享
2015/08/28 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
2016/03/01 Javascript
AngularJS基础 ng-open 指令简单实例
2016/08/02 Javascript
浅谈jQuery中hide和fadeOut的区别 show和fadeIn的区别
2016/08/18 Javascript
微信小程序Redux绑定实例详解
2017/06/07 Javascript
JavaScript根据json生成html表格的示例代码
2018/10/24 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
2021/02/20 Vue.js
pandas修改DataFrame列名的实现方法
2019/02/22 Python
linux环境中没有网络怎么下载python
2019/07/07 Python
使用python实现画AR模型时序图
2019/11/20 Python
python实现计算图形面积
2021/02/22 Python
怎样声明子类
2013/07/02 面试题
医学实习生自我鉴定
2013/12/12 职场文书
顶岗实习接收函
2014/01/09 职场文书
求职信怎么写范文
2014/05/26 职场文书
经济贸易系毕业生求职信
2014/05/31 职场文书
党员目标管理责任书
2014/07/25 职场文书
预备党员转正材料
2014/12/19 职场文书
惹女朋友生气检讨书
2015/05/06 职场文书
Golang 获取文件md5校验的方法以及效率对比
2021/05/08 Golang
JS创建或填充任意长度数组的小技巧汇总
2021/10/24 Javascript