自定义的一个简单时尚js下拉选择框


Posted in Javascript onNovember 20, 2013
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>statistics test</title> 
<script src="../js/jquery.js"></script> 
<style type="text/css"> 
.dropdiv{ 
width: 180px; 
height: 24px; 
overflow: hidden; 
float: left; 
font-size: 13px; 
font-family: "微软雅黑"; 
position: relative; 
padding: 0px 26px 0px 5px; 
border: solid 1px #cecece; 
background: url(../images/droparrow.png) 186px no-repeat; 
} 
.dropmiandiv{ 
margin-left: 40px; 
width: 213px; 
background: url(../images/dropdown.png) repeat-x; 
height: 27px; 
} 
.chooseItems{ 
border: solid 1px #cecece; 
} 
.chooseItems .chooseItem{ 
font-size: 13px; 
font-family: "微软雅黑"; 
padding: 5px; 
border-bottom: solid 1px #cecece; 
} 
.chooseItems .chooseItem:last-child{ 
border-bottom:none; 
} 
.chooseItems .chooseItem:hover{ 
background: #f2f2f2; 
} 
</style> 
</head> <body> 
<div class="dropmiandiv" quest ="select1"> 
<input type="text" readonly="readonly" id ="select1" displayMember="-1" valueMember ="请选择" class="dropdiv" value="请选择"/> 
</div> 
<div class="chooseItems" answer ="select1" style="display:none; position:absolute;"> 
<div class="chooseItem" displayMember="0" valueMember ="独立注册译员">独立注册译员</div> 
<div class="chooseItem" displayMember="1" valueMember ="供应商译员">供应商译员</div> 
<div class="chooseItem" displayMember="2" valueMember ="供应商">供应商</div> 
<div class="chooseItem" displayMember="3" valueMember ="代理商">代理商</div> 
</div> 
<div class="dropmiandiv" quest ="select2" style="position:absolute;top:200px;"> 
<input type="text" readonly="readonly" id ="select2" displayMember="-1" valueMember ="请选择" class="dropdiv" value="请选择"/> 
</div> 
<div class="chooseItems" answer ="select2" style="display:none; position:absolute;"> 
<div class="chooseItem" displayMember="0" valueMember ="独立注册译员">独立注册译员</div> 
<div class="chooseItem" displayMember="1" valueMember ="供应商译员">供应商译员</div> 
<div class="chooseItem" displayMember="2" valueMember ="供应商">供应商</div> 
<div class="chooseItem" displayMember="3" valueMember ="代理商">代理商</div> 
</div> 
</body> 
</html> 
<script type="text/javascript"> 
$(".dropdiv").click(function(e){ 
$(".chooseItems").slideUp(300); 
e.stopPropagation(); 
var quest = $(this).parent(); 
var questwidth = parseInt(quest.width())-2; 
var questheight = quest.height(); 
var left = quest.position().left+parseInt(quest.css("margin-left"))+parseInt(quest.css("padding-left")); 
var top = parseInt(quest.position().top)+parseInt(questheight)+4; 
var attrs = quest.attr("quest"); 
var selectsd = $('.chooseItems[answer='+attrs+']'); 
var selectsdHeight = selectsd.height(); 
if((top+selectsdHeight)>$(window).height()){ 
top = top - selectsdHeight - questheight-7; 
} 
if($(selectsd).is(":visible")){ 
$(selectsd).slideUp(300); 
}else{ 
$(selectsd).css({"left":left+"px","top":top+"px","width":questwidth+"px"}).slideDown(300); 
} 
}); 
$(".chooseItem").click(function(e){ 
e.stopPropagation(); 
var divhtml = $(this); 
var displayMember,valueMember; 
displayMember = divhtml.attr("displayMember"); 
valueMember = divhtml.attr("valueMember"); 
var attrs =$(this).parent().attr("answer"); 
var parent = $("#"+attrs); 
var olddisplayMember,oldvalueMember; 
olddisplayMember = parent.attr("displayMember"); 
oldvalueMember = parent.attr("valueMember"); 
if(olddisplayMember !=displayMember){ 
parent.attr("displayMember",displayMember); 
parent.attr("valueMember",valueMember); 
parent.val(valueMember); 
parent.change(); 
} 
$(this).parent().slideUp(300); 
}); 
$(document).click(function(e){ 
var target = $(e.target); 
if(target.closest(".chooseItems").length == 0){ 
$(".chooseItems").slideUp(300); 
} 
}); 
</script>

效果图
自定义的一个简单时尚js下拉选择框
Javascript 相关文章推荐
在js文件中写el表达式取不到值的原因及解决方法
Dec 23 Javascript
jquery.map()方法的使用详解
Jul 09 Javascript
详解JavaScript基于面向对象之创建对象(1)
Dec 10 Javascript
jquery pagination分页插件使用详解(后台struts2)
Jan 22 Javascript
Bootstrap导航条学习使用(二)
Feb 08 Javascript
Angularjs 实现移动端在线测评效果(推荐)
Apr 05 Javascript
Angular 通过注入 $location 获取与修改当前页面URL的实例
May 31 Javascript
基于vue.js无缝滚动效果
Jan 25 Javascript
浅析vue-router原理
Oct 19 Javascript
ES6 Map结构的应用实例分析
Jun 26 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
Apr 17 Javascript
vuex中store存储store.commit和store.dispatch的用法
Jul 24 Javascript
jQuery对html元素取值与赋值的方法
Nov 20 #Javascript
客户端js判断文件类型和文件大小即限制上传大小
Nov 20 #Javascript
JS保留两位小数 四舍五入函数的小例子
Nov 20 #Javascript
使用js简单实现了tree树菜单
Nov 20 #Javascript
js 用CreateElement动态创建标签示例
Nov 20 #Javascript
JS实现字体选色板实例代码
Nov 20 #Javascript
jquery实现树形二级菜单实例代码
Nov 20 #Javascript
You might like
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
PHP数组及条件,循环语句学习
2012/11/11 PHP
PHP中isset()和unset()函数的用法小结
2014/03/11 PHP
mysql_escape_string()函数用法分析
2016/04/25 PHP
PHP中散列密码的安全性分析
2019/07/26 PHP
用JS实现一个TreeMenu效果分享
2011/08/28 Javascript
jQuery.query.js 取参数的两点问题分析
2012/08/06 Javascript
jQuery学习笔记 更改jQuery对象
2012/09/19 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
原生js和jquery中有关透明度设置的相关问题
2014/01/08 Javascript
JavaScript中的toLocaleDateString()方法使用简介
2015/06/12 Javascript
jquery实现加载进度条提示效果
2015/11/23 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
详解使用Node.js 将txt文件转为Excel文件
2017/07/05 Javascript
快速搭建React的环境步骤详解
2017/11/06 Javascript
微信小程序+腾讯地图开发实现路径规划绘制
2019/05/22 Javascript
Element InputNumber计数器的使用方法
2020/07/27 Javascript
Javascript中window.name属性详解
2020/11/19 Javascript
[01:02:54]完美世界DOTA2联赛PWL S2 FTD vs GXR 第一场 11.22
2020/11/26 DOTA
python支持断点续传的多线程下载示例
2014/01/16 Python
简单的通用表达式求10乘阶示例
2014/03/03 Python
Python3 操作符重载方法示例
2017/11/23 Python
python中sys.argv函数精简概括
2018/07/08 Python
Django项目基础配置和基本使用过程解析
2019/11/25 Python
通过实例了解Python str()和repr()的区别
2020/01/17 Python
python数据类型可变不可变知识点总结
2020/03/06 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
Python requests模块cookie实例解析
2020/04/14 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
Python常用扩展插件使用教程解析
2020/11/02 Python
英国最大的运动营养公司之一:LA Muscle
2018/07/02 全球购物
求职信怎么写范文
2014/05/26 职场文书
股指期货心得体会
2014/09/13 职场文书
创业项目(超低成本创业项目)
2019/08/16 职场文书
React如何创建组件
2021/06/27 Javascript
tomcat默认最大连接数及相关调整方法
2022/05/06 Servers