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

代码如下:

<!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>

效果图

(0)

相关推荐

  • js下拉选择框与输入框联动实现添加选中值到输入框的方法

    本文实例讲述了js下拉选择框与输入框联动实现添加选中值到输入框的方法.分享给大家供大家参考.具体如下: 这里演示js下拉选择框与输入框联动,直接添加选中值到输入框中的效果.这种效果相信不少朋友见到过吧,省去用户输入的麻烦,这里使用JS直接将值赋予输入框,了解原理之后,可灵活运用,扩展出更多的特效来. 运行截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-select-value-to-input-codes/ 具体代码如下: <html> <

  • js实现仿阿里巴巴城市选择框效果实例

    本文实例讲述了js实现仿阿里巴巴城市选择框效果.分享给大家供大家参考.具体分析如下: 这并不是一个城市选择插件,在这里介绍只是为了mark一下二级联动的方法,此效果适用于有二级子菜单的效果,如导航栏.城市选择.类别选择等等. 样式效果是基于阿里的样式,懒得做其他调整,在area.css中仅仅是为了修改浏览器兼容性略做了一点调整. 城市数据是通过js构造,当然也可以通过后端取得数据,不过感觉没必要. <!doctype html> <html> <head> <me

  • js 自定义个性下拉选择框示例

    复制代码 代码如下: <!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=&qu

  • JS+CSS实现实用的单击输入框弹出选择框的方法

    本文实例讲述了JS+CSS实现实用的单击输入框弹出选择框的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: <!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

  • js判断选择时间不能小于当前时间的示例代码

    复制代码 代码如下: var controldate; function checkDate(){ controldate= document.getElementById("sendDate").value; if(controldate==""){ alert('日期不能为空'); return false; }else{ var day = new Date(); var Year = 0; var Month = 0; var Day = 0; var Cu

  • JS日期和时间选择控件升级版(自写)

    鉴于网上找到的几个日期选择程序有些问题,遂着手重写一个程序,大部分还是借鉴前人的代码,添加了时间选择功能,隐藏会遮挡控件的标签select,object. 开始本想使用window.createPopup()来弹出日历的选择,这样就可以跨过任何标签. 不过做到中途发现用createPopup窗口实现理论上是行不通的: 一是因为不在窗体里单击任何地方都会关闭窗口,而当用下拉框选择年份时,很有可能会单击到窗体外的地方,当然这个可以自己写select来避免,但是比较麻烦: 二是窗体的宽度和高度只能在弹

  • js实现select选择框效果及美化

    网上有各种各样的关于 select 选择框的美化,找了很多,并没有好的样式效果.所以就找了一个利用 ul li 做的类似 select 选择框的效果,不废话了,先上图,效果如下: 点击一个 test ,就会把列表显示出来,再次点击,列表隐藏,选择一个 li ,就会把 span 里的内容替换成 li 的内容,然后可以用 js 监控 span 的变化,然后执行你的代码.效果如下: html 代码如下: <div id="type" class="test">

  • JS实现漂亮的时间选择框效果

    本文实例讲述了JS实现漂亮的时间选择框效果.分享给大家供大家参考,具体如下: HTML代码部分: <html> <script language=javascript src="dataone.js"></script> <table align="center"> <tr> <td> <body> (1)只选择日期 <input type="text" n

  • js实现一个省市区三级联动选择框代码分享

    运行效果:  ================================================= 部分代码: ================================================= 当然首先你数据库中要有这个table,不然你没有数据.....^_^ 复制代码 代码如下: <tr> <td class="tr pr10 "> 所在地: </td> <td class="tl">

  • Js(JavaScript)中,弹出是或否的选择框示例(confirm用法的实例分析)

    <script>        if(confirm("确定要进行此操作吗?"))        {          alert("把确定的事件写到这里吧!");        }        else         {           alert("如果取消,就写一个返回事件吧!");        }</script> jQuery.ligerDialog.confirm('确定删除吗?', function

  • JS时间选择器 兼容IE6,7,8,9

    在线演示: http://demo.jb51.net/js/2012/js_date/ 复制代码 代码如下: <html> <head> <title>Js日期选择器并自动加入到输入框中</title> <meta http-equiv="content-Type" content="text/html;charset=gb2312"> <script type="text/javascri

  • js表单处理中单选、多选、选择框值的获取及表单的序列化

    本文总结了下在表单处理中单选.多选.选择框值的获取及表单的序列化,写成了一个对象.如下: var formUtil = { // 获取单选按钮的值,如有没有选的话返回null // elements为radio类的集合的引用 getRadioValue:function(elements) { var value = null; // null表示没有选中项 // 非IE浏览器 if(elements.value != undefined && elements.value != '')

  • JS简单设置下拉选择框默认值的方法

    本文实例讲述了JS简单设置下拉选择框默认值的方法.分享给大家供大家参考,具体如下: //根据下拉对象默认选中后台对应的记录 function setSelectOption(objSelect, targetValue){ if(objSelect){ var options = objSelect.options; if(options){ var len = options.length; for(var i=0;i<len;i++){ if(options[i].value == targ

随机推荐