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 相关文章推荐
返回对象在当前级别中是第几个元素的实现代码
Jan 20 Javascript
jquery隔行换色效果实现方法
Jan 15 Javascript
莱鸟介绍javascript onclick事件
Jan 06 Javascript
Angular的MVC和作用域
Dec 26 Javascript
Bootstrap警告(Alerts)的实现方法
Mar 22 Javascript
BootStrap 表单控件之单选按钮水平排列
May 23 Javascript
jQuery响应滚动条事件功能示例
Oct 14 jQuery
浅谈Vue.nextTick 的实现方法
Oct 25 Javascript
JavaScript获取移动设备型号的实现代码(JS获取手机型号和系统)
Mar 10 Javascript
vue-next/runtime-core 源码阅读指南详解
Oct 25 Javascript
vue 使用饿了么UI仿写teambition的筛选功能
Mar 01 Vue.js
几款主流好用的富文本编辑器(所见即所得常用编辑器)介绍
Mar 17 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
【动漫杂谈】关于《请在T台上微笑》
2020/03/03 日漫
Eclipse中php插件安装及Xdebug配置的使用详解
2013/04/25 PHP
centos下file_put_contents()无法写入文件的原因及解决方法
2017/04/01 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
jquery 防止表单重复提交代码
2010/01/21 Javascript
基于jquery循环map功能的代码
2011/02/26 Javascript
JavaScript 放大镜 放大倍率和视窗尺寸
2011/05/09 Javascript
javascript实现的字符串与十六进制表示字符串相互转换方法
2015/07/17 Javascript
jQuery EasyUI之DataGrid使用实例详解
2016/01/04 Javascript
Jquery $when done then的用法详解
2016/05/20 Javascript
详解vue.js 开发环境搭建最简单攻略
2017/06/12 Javascript
解决Js先触发失去焦点事件再执行点击事件的问题
2018/08/30 Javascript
Angular4 Select选择改变事件的方法
2018/10/09 Javascript
express框架下使用session的方法
2019/07/31 Javascript
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
python实现简易通讯录修改版
2018/03/13 Python
Python实用技巧之列表、字典、集合中根据条件筛选数据详解
2018/07/11 Python
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
巴基斯坦购物网站:Goto
2019/03/11 全球购物
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
Pamela Love官网:纽约设计师Pamela Love的精美、时尚和穿孔珠宝
2020/10/19 全球购物
英国Iceland杂货店:网上食品购物
2020/12/16 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
酒店前台接待岗位职责
2013/12/03 职场文书
小学红领巾中秋节广播稿
2014/01/13 职场文书
运动会演讲稿100字
2014/08/25 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
交通事故和解协议书
2015/01/27 职场文书
大学生英文求职信范文
2015/03/19 职场文书
自主招生专家推荐信
2015/03/26 职场文书
工资证明格式模板
2015/06/12 职场文书
乡镇团代会开幕词
2016/03/04 职场文书
2016年百日安全生产活动总结
2016/04/06 职场文书