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 相关文章推荐
Cookie 小记
Apr 01 Javascript
简约JS日历控件 实例代码
Jul 12 Javascript
js使用ajax读博客rss示例
May 06 Javascript
浅析JavaScript中的事件机制
Jun 04 Javascript
JS修改地址栏参数实例代码
Jun 14 Javascript
javascript特殊文本输入框网页特效
Sep 13 Javascript
使用BootStrapValidator完成前端输入验证
Sep 28 Javascript
Javascript基础回顾之(三) js面向对象
Jan 31 Javascript
JS常见算法详解
Feb 28 Javascript
移动端滑动切换组件封装 vue-swiper-router实例详解
Nov 25 Javascript
JavaScript 性能提升之路(推荐)
Apr 10 Javascript
js的Object.assign用法示例分析
Mar 05 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 七大优势分析
2009/06/23 PHP
php实例分享之mysql数据备份
2014/05/19 PHP
php上传图片客户端和服务器端实现方法
2015/03/30 PHP
两个select之间option的互相添加操作(jquery实现)
2009/11/12 Javascript
JQuery入门——移除绑定事件unbind方法概述及应用
2013/02/05 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
js实现iframe跨页面调用函数的方法
2014/12/13 Javascript
JavaScript用select实现日期控件
2015/07/17 Javascript
js中unicode转码方法详解
2015/10/09 Javascript
javascript中setAttribute兼容性用法分析
2016/12/12 Javascript
JavaScript实现两个select下拉框选项左移右移
2017/03/09 Javascript
JS自定义滚动条效果简单实现代码
2020/10/27 Javascript
vue2导航根据路由传值,而改变导航内容的实例
2017/11/10 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
React和Vue中监听变量变化的方法
2018/11/14 Javascript
js闭包和垃圾回收机制示例详解
2021/03/01 Javascript
好用的Python编辑器WingIDE的使用经验总结
2016/08/31 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
Python中反射和描述器总结
2018/09/23 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
python实现简单名片管理系统
2018/11/30 Python
简单了解python中的与或非运算
2019/09/18 Python
Python读写csv文件流程及异常解决
2020/10/20 Python
Java面试题及答案
2012/09/08 面试题
小学生获奖感言范文
2014/02/02 职场文书
土建施工员岗位职责
2014/07/16 职场文书
2014年九一八事变演讲稿
2014/09/14 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
2014年信访维稳工作总结
2014/12/08 职场文书
首席执行官观后感
2015/06/03 职场文书
李强优秀员工观后感
2015/06/16 职场文书
考试后的感想
2015/08/07 职场文书
《黄山奇石》教学反思
2016/02/18 职场文书
mysql查询的控制语句图文详解
2021/04/11 MySQL
如何用JavaScript实现一个数组惰性求值库
2021/05/05 Javascript
Python编写冷笑话生成器
2022/04/20 Python