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 相关文章推荐
JQuery实现简单时尚快捷的气泡提示插件
Dec 20 Javascript
JS特殊函数(Function()构造函数、函数直接量)区别介绍
May 19 Javascript
js实现简单的星级选择器提交效果适用于评论等
Oct 18 Javascript
常用的JavaScript WEB操作方法分享
Feb 28 Javascript
基于jQuery+JSON的省市二三级联动效果
Jun 05 Javascript
浅析JavaScript 调试方法和技巧
Oct 22 Javascript
JavaScript判断DIV内容是否为空的方法
Jan 29 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
Jul 09 Javascript
浅谈jquery中使用canvas的问题
Oct 10 Javascript
JavaScript实现捕获鼠标坐标
Apr 12 Javascript
JavaScript中arguments的使用方法详解
Dec 20 Javascript
vue判断按钮是否可以点击
Apr 09 Vue.js
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 引用文件技巧
2010/03/02 PHP
PHP正则匹配操作简单示例【preg_match_all应用】
2017/07/10 PHP
laravel 创建命令行命令的图文教程
2019/10/23 PHP
用javascript做拖动布局的思路
2008/05/31 Javascript
由document.body和document.documentElement想到的
2009/04/13 Javascript
jQuery获取注册信息并提示实现代码
2013/04/21 Javascript
javascript代码运行不出来执行错误的可能情况整理
2013/10/18 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之主动触发事件和模拟冒泡处理
2015/11/24 Javascript
layui文件上传实现代码
2017/05/20 Javascript
JavaScript实现短信倒计时60s
2017/10/09 Javascript
JavaScript 下载svg图片为png格式
2018/06/21 Javascript
Vue组件内部实现一个双向数据绑定的实例代码
2019/04/04 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
python实现二分查找算法
2017/09/21 Python
python 解决动态的定义变量名,并给其赋值的方法(大数据处理)
2018/11/10 Python
Python3 itchat实现微信定时发送群消息的实例代码
2019/07/12 Python
Python列表删除元素del、pop()和remove()的区别小结
2019/09/11 Python
python字符串替换re.sub()方法解析
2019/09/18 Python
HTML5 Canvas API中drawImage()方法的使用实例
2016/03/25 HTML / CSS
Expedia英国:全球最大的在线旅游公司
2017/09/07 全球购物
英国休闲奢华的缩影:Crew Clothing
2019/05/05 全球购物
.NET是怎么支持多种语言的
2015/02/24 面试题
物流仓储实习自我鉴定
2013/09/25 职场文书
管理学专业个人求职信范文
2013/12/13 职场文书
大学生职业生涯规划书汇总
2014/03/20 职场文书
会议欢迎标语
2014/06/30 职场文书
党委班子对照检查材料
2014/08/19 职场文书
先进党支部申报材料
2014/12/24 职场文书
销售内勤岗位职责
2015/02/10 职场文书
大学教师个人总结
2015/02/10 职场文书
2015年第十五个全民国防教育日宣传活动方案
2015/05/06 职场文书
《穷人》教学反思
2016/02/19 职场文书
Pytorch 使用tensor特定条件判断索引
2021/04/08 Python
Jupyter notebook 输出部分显示不全的解决方案
2021/04/24 Python
Python多线程实用方法以及共享变量资源竞争问题
2022/04/12 Python