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 相关文章推荐
jMessageBox 基于jQuery的窗口插件
Dec 09 Javascript
CSS鼠标响应事件经过、移动、点击示例介绍
Sep 04 Javascript
js实现连续英文字符自动换行兼容ie6 ie7和firefox
Sep 06 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
jquery实现页面关键词高亮显示的方法
Mar 12 Javascript
微信公众号 客服接口的开发实例详解
Sep 28 Javascript
原生js实现秒表计时器功能
Feb 16 Javascript
VUE axios发送跨域请求需要注意的问题
Jul 06 Javascript
JavaScript实现京东购物放大镜和选项卡效果的方法分析
Jul 05 Javascript
微信小程序实现选项卡效果
Nov 06 Javascript
使用nvm和nrm优化node.js工作流的方法
Jan 17 Javascript
Javascript Web Worker使用过程解析
Mar 16 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
德生PL330测评
2021/03/02 无线电
PHP与SQL注入攻击[一]
2007/04/17 PHP
解析CI即CodeIgniter框架在Nginx下的重写规则
2013/06/03 PHP
php递归遍历多维数组的方法
2015/04/18 PHP
PHP计算数组中值的和与乘积的方法(array_sum与array_product函数)
2016/04/01 PHP
Zend Framework框架中实现Ajax的方法示例
2017/06/27 PHP
Laravel框架查询构造器简单示例
2019/05/08 PHP
jquery tab插件精简版分享
2011/09/10 Javascript
jquery 模板的应用示例
2013/11/12 Javascript
打造个性化的功能强大的Jquery虚拟键盘(VirtualKeyboard)
2014/10/11 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
js仿微博实现统计字符和本地存储功能
2015/12/22 Javascript
ES6的新特性概览
2016/03/10 Javascript
Vue的MVVM实现方法
2017/08/16 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
2018/03/07 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
Nodejs实现的操作MongoDB数据库功能完整示例
2019/02/02 NodeJs
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
[52:41]OG vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/20 DOTA
python读取一个目录下所有txt里面的内容方法
2018/06/23 Python
用Python实现数据的透视表的方法
2018/11/16 Python
对python numpy.array插入一行或一列的方法详解
2019/01/29 Python
python实现简单银行管理系统
2019/10/25 Python
Python流程控制常用工具详解
2020/02/24 Python
使用python脚本自动生成K8S-YAML的方法示例
2020/07/12 Python
HTML5 Web Workers之网站也能多线程的实现
2013/04/24 HTML / CSS
乌克兰数字设备、配件和智能技术的连锁商店:KTC
2020/08/18 全球购物
UNIX文件名称有什么规定
2013/03/25 面试题
护理学专业推荐信
2013/12/03 职场文书
大学生在校表现评语
2014/12/31 职场文书
政协常委会议主持词
2015/07/03 职场文书
自荐信大全
2019/03/21 职场文书
用Python可视化新冠疫情数据
2022/01/18 Python
MySQL自定义函数及触发器
2022/08/05 MySQL