基于jquery实现的可以编辑选择的下拉框的代码


Posted in Javascript onNovember 19, 2010

效果图:
基于jquery实现的可以编辑选择的下拉框的代码
代码如下:

<!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> 
<title>可以编辑的下来框实现方法--woody.wu</title> 
<style type="text/css"> 
.cssINPUT 
{ 
height: 19PX; 
padding: 3PX; 
padding-left: 3px; 
padding-right: 0px; 
margin: 0PX; 
border: 1PX SOLID #C0C0C0; 
font-family: 宋体,arial; 
font-size: 9pt; 
} 
.select_div_list 
{ 
position: absolute; 
border: 1px solid black; 
background-color: White; 
overflow: hidden; 
overflow-y: auto; 
} 
.select_div_list_ul 
{ 
margin: 0px; 
padding: 0px; 
list-style-type: none; 
} 
.select_div_list_ul li 
{ 
cursor: pointer; 
padding-left: 3px; 
font-family: 宋体,arial; 
font-size: 9pt; *padding:0px;*height:20px;_height:14px;_margin:0px;_height:14px;*margin:0px;line-height:14px;} 
.selectSPAN 
{ 
background-color: Yellow; 
} 
</style> 
<script type="text/javascript" src="Js/jquery-1.4.2.min.js"></script> 
<script type="text/javascript"> 
var inputID = "input1"; 
var selectID = "select1"; 
var widt = 0; 
var inputWi = 0; 
var he = 0; 
$(function() { 
inputID = "input1"; 
selectID = "select1"; 
widt = 200; 
inputWi = widt - 20; 
he = $("#user").height() - 41; 
var offset = $("input[id=input1]").offset(); 
$("#" + selectID).change(function() { 
var newvar = $("#" + selectID).find("option:selected").text(); 
$("#" + inputID).val(newvar); 
}).click(function() { 
$("#select_div_on_key" + selectID).remove(); 
}).css({ "display": "block", "width": widt + "px", "z-index": 1, "clip": "rect(0px " + widt + "px 51px 151px)" }); 
$("#" + inputID).keyup(function() { 
ShowSelectCombo(); 
}).click(function() { 
ShowSelectCombo(); 
}).css({ "z-index": 2, "width": inputWi + "px" }); ; 
}); 
function ShowSelectCombo() { 
var pob = $("#" + inputID); 
var v = pob.val(); 
var off = pob.offset(); 
var wi = pob.width() + 16; 
var tp = off.top + pob.height() - 100 + 7; 
var lef = off.left - 200 + 2; 
var html = "<div class='select_div_list' id='select_div_on_key" + selectID + "' style='width:" + wi + "px;top:" + tp + "px;left:" + lef + "px;'><ul class='select_div_list_ul'>"; 
$("#" + selectID).find("option").each(function() { 
var tk = $(this); 
html += "<li val='" + tk.val() + "' ht='" + encodeURIComponent(tk.html()) + "'>" + tk.html().replace(v, "<span class='selectSPAN'>" + v + "</span>") + "</li>"; 
}); 
html += "</ul></div>"; 
var ulDIV = $("#select_div_on_key" + selectID); 
ulDIV.remove(); 
$("#user").append(html); 
var ulDIV = $("#select_div_on_key" + selectID); 
var hei = ulDIV.find("ul").height(); 
var newHeight = hei > he ? he : hei; 
ulDIV.css({ height: newHeight + "px" }); 
ulDIV.find("li").hover(function() { 
$(this).css({ "background-color": "#316ac5" }); 
}, function() { 
$(this).css({ "background-color": "white" }); 
}); 
ulDIV.find("li").click(function() { 
var ki = $(this); 
var va = ki.attr("val"); 
var htm = ki.attr("ht"); 
htm = decodeURIComponent(htm); 
$("#" + inputID).val(htm); 
$("#" + selectID).val(va); 
ulDIV.remove(); 
}); 
} 
</script> 
</head> 
<body> 
<form name="form1" method="post" action="qqq.aspx" id="form1"> 
<div> 
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwULLTIxMjQ5OTYwOTdkZH49VftoWVz/vaIL4f2byf4/w86b" /> 
</div> 
<div> 
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEWDwL15JrvCgL2jaW0BgL3jaW0BgL0jaW0BgL1jaW0BgLyjaW0BgLzjaW0BgLwjaW0BgLujaW0BgL3jeW3BgKm4u6hCAL3je23BgL3jdG3BgL3jdW3BgL3jdm3BnqAGtu2PbiTi9dWHvWrW6QCqrYo" /> 
</div> 
<div style='position: absolute; top: 100px; width: 500px; left: 200px; padding: 10px; 
height: 400px; border: 1px solid red;' id='user'> 
<div> 
<div style='overflow: hidden; margin-top: 10px; height: 30px;'> 
<input id="input1" name="input1" type="text" class='cssINPUT' style='_height: 20px; 
*height: 13px; display: block; float: left; position: absolute; border-right: 0px;' /> 
<select name="select1" id="select1" class="cssINPUT" style="float: left; 
display: none; height: 27PX; position: absolute; cursor: pointer; margin-left: 2px; 
padding: 0px;"> 
<option value="1">?身和底?修整???lt;/option> 
<option value="2">真空吸?</option> 
<option value="3">氧/乙炔焊割工具</option> 
<option value="4">冷?机 </option> 
<option value="5">大市?鋈龅?lt;/option> 
<option value="6">大擦</option> 
<option value="7">第三十</option> 
<option value="9">大市??lt;/option> 
<option value="20">?身外形修复机(介子机)</option> 
<option value="1022">沙皮狗</option> 
<option value="22">整形机</option> 
<option value="23">?升机</option> 
<option value="24">修?躺板</option> 
<option value="25">空?制冷?┏渥⒒ </option> 
</select> 
</div> 
</div> 
</form> 
</body> 
</html>
Javascript 相关文章推荐
用户注册常用javascript代码
Aug 29 Javascript
怎么判断js脚本加载完成
Feb 28 Javascript
js鼠标点击图片实现随机变换图片的方法
Feb 16 Javascript
理解javascript封装
Feb 23 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
Apr 13 Javascript
vue-router 导航钩子的具体使用方法
Aug 31 Javascript
JavaScript反射与依赖注入实例详解
May 29 Javascript
微信小程序自定义select下拉选项框组件的实现代码
Aug 28 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
Oct 20 Javascript
vue实现百度下拉列表交互操作示例
Mar 12 Javascript
vue+iview动态渲染表格详解
Mar 19 Javascript
Vue按时间段查询数据组件使用详解
Aug 21 Javascript
使用jQuery的将桌面应用程序引入浏览器
Nov 19 #Javascript
DIV菜单层实现代码
Nov 19 #Javascript
jQuery 定时局部刷新(setInterval)
Nov 19 #Javascript
基于jquery的跨域调用文件
Nov 19 #Javascript
jquery.cvtooltip.js 基于jquery的气泡提示插件
Nov 19 #Javascript
jQuery lazyload 的重复加载错误以及修复方法
Nov 19 #Javascript
JQuery 选择和过滤方法代码总结
Nov 19 #Javascript
You might like
php学习 字符串课件
2008/06/15 PHP
php 检查电子邮件函数(自写)
2014/01/16 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
PHP封装的字符串加密解密函数
2015/12/18 PHP
thinkphp5框架扩展redis类方法示例
2019/05/06 PHP
Laravel框架控制器,视图及模型操作图文详解
2019/12/04 PHP
js 深拷贝函数
2008/12/04 Javascript
防止页面被iframe(兼容IE,Firefox火狐)
2010/07/04 Javascript
JSON无限折叠菜单编写实例
2013/12/16 Javascript
jQuery.prop() 使用详解
2015/07/19 Javascript
基于jquery实现无限级树形菜单
2016/03/22 Javascript
Vue cli+mui 区域滚动的实例代码
2018/01/25 Javascript
在vue中使用css modules替代scroped的方法
2018/03/10 Javascript
解决vue项目中页面调用数据 在数据加载完毕之前出现undefined问题
2019/11/14 Javascript
Python 学习笔记
2008/12/27 Python
python解决字典中的值是列表问题的方法
2013/03/04 Python
python生成器表达式和列表解析
2016/03/10 Python
python实现读取并显示图片的两种方法
2017/01/13 Python
Python3远程监控程序的实现方法
2019/07/15 Python
Django+uni-app实现数据通信中的请求跨域的示例代码
2019/10/12 Python
Python实现自动签到脚本的示例代码
2020/08/19 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
python获取linux系统信息的三种方法
2020/10/14 Python
浅析Python的命名空间与作用域
2020/11/25 Python
基于Pytorch版yolov5的滑块验证码破解思路详解
2021/02/25 Python
GAP美国官网:美国休闲时尚品牌
2016/08/26 全球购物
全球最大的瓷器、水晶和银器零售商:Replacements
2020/06/15 全球购物
优秀毕业自我鉴定
2014/02/15 职场文书
母亲节感恩寄语
2014/02/21 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
2014年党的群众路线整改措施思想汇报
2014/10/12 职场文书
催款通知书范文
2015/04/17 职场文书
2015年加油站工作总结
2015/05/13 职场文书
格林童话读书笔记
2015/06/30 职场文书
2016年度员工工作表现评语
2015/12/02 职场文书
NoSQL优缺点与MongoDB数据库简介
2022/06/05 MongoDB