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游戏之是男人就下100层代码打包
Nov 08 Javascript
JS Range HTML文档/文字内容选中、库及应用介绍
May 12 Javascript
HTML上传控件取消选择
Mar 06 Javascript
javascript禁用键盘功能键让右击及其他键无效
Oct 09 Javascript
探究Javascript模板引擎mustache.js使用方法
Jan 26 Javascript
巧用Vue.js+Vuex制作专门收藏微信公众号的app
Nov 03 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
Dec 06 Javascript
bootstrap响应式导航条模板使用详解(含下拉菜单,弹出框)
Nov 17 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
Nov 19 Javascript
ES6入门教程之let、const的使用方法
Apr 13 Javascript
vue路由切换之淡入淡出的简单实现
Oct 31 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
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生成固定长度纯数字编码的方法
2015/07/09 PHP
PHP数据库编程之MySQL优化策略概述
2017/08/16 PHP
Laravel如何实现适合Api的异常处理响应格式
2020/06/14 PHP
仅Firefox中链接A无法实现模拟点击以触发其默认行为
2011/07/31 Javascript
20个最新的jQuery插件
2012/01/13 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
判断输入是否为空,获得输入类型的JS代码
2013/10/30 Javascript
封装了一个支持匿名函数的Javascript事件监听器
2014/06/05 Javascript
javascript实现的HashMap类代码
2014/06/27 Javascript
Javascript数组操作函数总结
2015/02/05 Javascript
解析javascript中鼠标滚轮事件
2015/05/26 Javascript
跟我学习javascript的arguments对象
2015/11/16 Javascript
Angularjs的Controller间通信机制实例分析
2016/11/07 Javascript
JQuery实现图片轮播效果
2017/05/08 jQuery
使用node.js搭建服务器
2017/05/20 Javascript
jQuery使用bind函数实现绑定多个事件的方法
2017/10/11 jQuery
Vue 莹石摄像头直播视频实例代码
2018/08/31 Javascript
require.js 加载过程与使用方法介绍
2018/10/30 Javascript
三分钟教你用Node做一个微信哄女友(基友)神器(面向小白)
2019/06/21 Javascript
layui table 表格模板按钮的实例代码
2019/09/21 Javascript
Vue 实现对quill-editor组件中的工具栏添加title
2020/08/03 Javascript
[01:11:15]VGJ.S vs Secret 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
[49:08]OpTic vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
python 获得任意路径下的文件及其根目录的方法
2019/02/16 Python
FFT快速傅里叶变换的python实现过程解析
2019/10/21 Python
基于Python数据结构之递归与回溯搜索
2020/02/26 Python
Python内置方法和属性应用:反射和单例(推荐)
2020/06/19 Python
Django websocket原理及功能实现代码
2020/11/14 Python
Python爬虫设置Cookie解决网站拦截并爬取蚂蚁短租的问题
2021/02/22 Python
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
英国在线花园中心:You Garden
2018/06/03 全球购物
争当四好少年演讲稿
2014/09/13 职场文书
财务检查整改报告
2014/11/06 职场文书
律师函格式范本
2015/05/27 职场文书
Python Matplotlib库实现画局部图
2021/11/17 Python