基于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 相关文章推荐
jquery ready函数源代码研究
Dec 06 Javascript
jQuery对表单元素的取值和赋值操作代码
May 19 Javascript
基于JavaScript实现的顺序查找算法示例
Apr 14 Javascript
js实现文件上传功能 后台使用MultipartFile
Sep 08 Javascript
js中自定义react数据验证组件实例详解
Oct 19 Javascript
微信小程序-API接口安全详解
Jul 16 Javascript
vue-router跳转时打开新页面的两种方法
Jul 29 Javascript
javascript之分片上传,断点续传的实际项目实现详解
Sep 05 Javascript
vue中 数字相加为字串转化为数值的例子
Nov 07 Javascript
让IDE识别webpack的别名alias的实现方法
May 06 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
Sep 11 Javascript
Nuxt的路由动画效果案例
Nov 06 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函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
thinkPHP5框架导出Excel文件简单操作示例
2018/08/03 PHP
php二维数组按某个键值排序的实例讲解
2019/02/15 PHP
一个很酷的拖动层的js类,兼容IE及Firefox
2009/06/23 Javascript
js中判断控件是否存在
2010/08/25 Javascript
在JQuery dialog里的服务器控件 事件失效问题
2010/12/08 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
原生JS实现加入收藏夹的代码
2013/10/24 Javascript
在Ubuntu上安装最新版本的Node.js
2014/07/14 Javascript
jQuery中:password选择器用法实例
2015/01/03 Javascript
jQuery实现定位滚动条位置
2016/08/05 Javascript
@ResponseBody 和 @RequestBody 注解的区别
2017/03/08 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
浅谈MUI框架中加载外部网页或服务器数据的方法
2018/01/31 Javascript
jQuery实现form表单序列化转换为json对象功能示例
2018/05/23 jQuery
简单明了区分escape、encodeURI和encodeURIComponent
2018/05/26 Javascript
js实现轮播图的完整代码
2020/10/26 Javascript
中级前端工程师必须要掌握的27个JavaScript 技巧(干货总结)
2019/09/23 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
js实现简单选项卡制作
2020/08/05 Javascript
Vue实现一种简单的无限循环滚动动画的示例
2021/01/10 Vue.js
python3新特性函数注释Function Annotations用法分析
2016/07/28 Python
Python使用re模块正则提取字符串中括号内的内容示例
2018/06/01 Python
keras模型可视化,层可视化及kernel可视化实例
2020/01/24 Python
Python使用pyexecjs代码案例解析
2020/07/13 Python
PyQt5通过信号实现MVC的示例
2021/02/06 Python
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
美国香薰蜡烛品牌:PADDYWAX
2018/10/06 全球购物
计算机科学与技术应届生求职信
2013/11/07 职场文书
集体婚礼证婚词
2014/01/13 职场文书
入股协议书
2014/04/14 职场文书
《称象》教学反思
2014/04/25 职场文书
计算机系本科生求职信
2014/05/31 职场文书
沂蒙六姐妹观后感
2015/06/08 职场文书
小学英语教师2015年度个人工作总结
2015/10/14 职场文书
还在手动盖楼抽奖?教你用Python实现自动评论盖楼抽奖(一)
2021/06/07 Python