chosen组件实现下拉框
chosen组件用于增强原生的select
控件,使之有更好的用户体验。官方demo https://harvesthq.github.io/chosen/
目前项目中碰到的使用,比如一个页面中有两个不同样式的下拉框:
1、首先在js文件夹中建一个名为chosen的文件夹,放入这样几个文件:
2、在html页面中引入chosen的css和js文件:
3、在html中写这两个下拉框:
1 <div class="myselect1 mt10 ml10"> 2 <select id="select1" class="myselect"> 3 <option value="1">中国</option> 4 <option value="2">美国</option> 5 <option value="3">韩国</option> 6 </select> 7 <span>下拉框1</span> 8 </div> 9 <div class="myselect2 mt10 ml10"> 10 <select id="select2" class="myselect"> 11 <option value="1">北京</option> 12 <option value="2">华盛顿</option> 13 <option value="3">首尔</option> 14 </select> 15 <span>下拉框2</span> 16 </div>
页面效果为普通的select样式:
4、在js中初始化这两个下拉框:
1 (function(win, $) { 2 3 // 初始化下拉框 4 $("select").chosen({ 5 disable_search: true 6 }).change(function(event, opt) { 7 // 获取选中的值 8 var val = $(this).find("option:selected").html(); 9 console.log(val); 10 }); 11 }(this, jQuery));
效果就变成了官方预设的下拉效果(当文字过长时会自动显示部分省略号):
5、给这两个下拉框写样式:
/*两个框的宽度是通过这样直接指定的方式设定的*/ .myselect1 select {width: 100px; } .myselect2 select {width: 150px; }/*#region 重写下拉框 */ /*两个下拉框的相同样式直接重写*//*整个框外观上的样式*/ .chosen-container {margin-right: 100px;float: left;text-align: center;*padding: 5px 0; }.chosen-container .chosen-results {padding: 0;margin-right: 0; } /*下拉框的那个框的样式*/ .chosen-container-single .chosen-single {background: #f9f9f9;border: 0;border-radius: 0;box-shadow: none; /*后来的测试中发现,这个height是包括边框的高度*/ line-height: 36px;height: 36px; }.chosen-container-single .chosen-single span {margin-right: 26px;letter-spacing: 2px;margin-left: 4px; } /*下拉项*/ .chosen-container .chosen-results li {letter-spacing: 4px; }.chosen-container-single .chosen-single div {padding: 0;width: 21px; } /*图标*/ .chosen-container-single .chosen-single div b {background: url(../images/bg.png) no-repeat left 15px; }.chosen-container-active.chosen-with-drop .chosen-single div b {background: url(../images/bg.png) no-repeat left 15px; } /*当下拉项显示出来时下拉框的那个框的样式*/ .chosen-container-active.chosen-with-drop .chosen-single {background: #f9f9f9;box-shadow: none;border: 0;border-radius: 0; }.chosen-container-single .chosen-drop {border: 1px solid #f9f9f9;background-color: #f9f9f9;box-sizing: border-box; }.chosen-container .chosen-results li.highlighted {background-color: #397ddb;background-image: none; } /*给其中一个框分别指定个性的样式,另一个框的样式设定方式同理,使用父选择器进行限制*/ .myselect1 .chosen-container {text-align: left; } .myselect1 .chosen-container-single .chosen-single {background-color: #f00;color: #fff;font-size: 20px; } .myselect1 .chosen-container .chosen-results li {letter-spacing: 0;padding-left: 12px; } .myselect1 .chosen-container-active.chosen-with-drop .chosen-single {background: #0f0;border: 1px solid #f00; }
(当下拉框需要浮动时,所在的div层不能写overflow:hidden;这样点击框后框会消失得几乎不见,所以要在所在的div清除浮动):
效果图:
经测试,以上效果是在chrome,ff,IE8、9、10下的显示,在IE7中显示达不到效果:
至少整个外观样式不合格(下拉框和右边文字的距离没拉开),所以可以在css中直接针对IE7写hack样式:
然后距离至少是拉开了的:
====================================分割线 2016.10.10=========================================
转载于:https://www.cnblogs.com/junsoo-jun/p/5890892.html
chosen组件实现下拉框相关推荐
- 【JAVA】-- GUI用户界面设计(面板组件、文本组件、标签组件、按钮组件、下拉框组件)
Swing中的组件:面板组件.文本组件.标签组件.按钮组件.下拉框组件. 一.面板组件 Swing组件中除了JFrame和JDialog这样的顶级容器,还提供了一些面板组件,面板组件不能单独存在,只能 ...
- Vue自定义组件——自定义下拉框
组件自定义 props props传入数据. $emit this.$emit("input",param);调用组件外部的监听. v-model 自定义组件要使用v-model实 ...
- 通过css样式禁用NG-ZORRO中Calendar日历组件头部下拉框的选择事件
通过css样式去掉鼠标点击事件及点击呈现的样式: @mixin clickDisable {pointer-events: none;cursor: default;//opacity: 0.6; } ...
- 微信小程序 简单易用 下拉框组件
由于公司项目需要,自己开发了一个微信小组件--Miche_mini_select下拉框 本下拉框特点: 1.保证下拉框在最上层,不会被其他控件所遮挡 2.引用方便,直接引用组件即可,与页面耦合性低 3 ...
- jquery可以勾选的下拉框_jquery.chosen下拉框多选插件使用详解_蓝戒的博客
Chosen 是一个支持jquery的selec t下拉框美化插件,它能让丑陋的.很长的selec t选择框变的更好看.更方便.不仅如此,它更扩展了selec t, 增加了自动筛选的功能.它可对列表 ...
- chosen.jquery.js 有搜索功能、多选功能的下拉框插件
chosen.jquery.js 有搜索功能.多选功能的下拉框插件 官方源码: https://github.com/harvesthq/chosen 该源码中的样例index.html有该插件的详 ...
- 如何使用ember下拉框组件??
2019独角兽企业重金招聘Python工程师标准>>> 文章来源:ember teach This addon enables legacy view support without ...
- 自绘制HT For Web ComboBox下拉框组件
传统的HTML5的下拉框select只能实现简单的文字下拉列表,而HT for Web通用组件中ComboBox不仅能够实现传统HTML5下拉框效果,而且可以在文本框和下拉列表中添加自定义的小图标,让 ...
- 微信小程序下拉框插件_微信小程序下拉框组件使用方法详解
本文实例为大家分享了微信小程序下拉框组件的使用方法,供大家参考,具体内容如下 适用场景 1.省市三级联动 2.出生日期选择 3.性别选择 4.一般性的下拉选择等 一.省市三级联动使用 注意mode = ...
最新文章
- 即插即用新卷积:提升CNN性能、速度翻倍
- jmeter tps指标在哪里看_JMeter功能不够用?看这里
- Scala学习之类和属性篇(一):定义类的主构造方法
- V-rep学习笔记:vrep中的实用工具
- 七十五、Python | Leetcode哈希表系列
- 经典C语言程序100例之八六
- java 生成log4j_Java log4j配置每天生成一个日志文件 - 永恒ぃ☆心 的日志 - 网易博客...
- .NET设计模式(10):装饰模式(Decorator Pattern)
- 黑马程序员_java基础笔记(03)...面向对象
- 中位数和顺序统计,以线性期望时间做选择
- 汉诺塔C语言实现(纯代码)
- java万年历程序代码_JAVA万年历程序代码
- 计算机名校远程在职硕士信息汇总Online Master
- c语言求成绩标准差,C语言中求和、计算平均值、方差和标准差的实例
- P1967 货车运输( 最大生成树+LCA or Kruskal重构树)
- 【开箱即用】VMware Win7虚拟机下载
- CDQZ多校集训题目--盛夏
- 桌面支持--PLM软件必须右键用管理员账号打开
- 自行车租借管理系统c语言,校园自行车管理系统.doc
- 关于《Windows传统蒙古文系统》新探索系列篇(二)
热门文章
- 解决Sqlite中的中文路径问题
- .NET中的文件IO操作实例
- Windows和Linux双启动,并用在Windows下配置CoLinux启动
- apache压力测试
- 7.7-9 chage、chpasswd、su
- eplan单线原理图多线原理图_【原创分享】西门子PLC电路图高效设计——基于EPLAN与TIA Selection...
- ios html gif 显示,iOS中gif图的显示方法示例
- linux网络存储服务器选题意义,基于嵌入式Linux的网络存储的实现和研究
- Cow Toll Paths(floyd变形)
- python使用作为转义字符_当需要在字符串中使用特殊字符时, Python使用()作为转义字符。...