JS----------------创建一个具有下拉框效果的input输入框
2016-08-16 00:00
501 查看
1.创建一个具有下拉框效果的input的输入框的思路:
1.页面:创建一个input输入框,其下面有一个div
2.通过js函数,点击input的时候触发。为div中添加<ul><li></li></ul>列表
3.其中的<li></li>列表点击的时候,为input赋值为<li></li>中的值
实例:
<!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>无标题文档</title>
<style type="text/css">
*{
margin:0px;
padding:0px;
font-size:14px;
}
.lis{
border-bottom:1px solid #000;
}
</style>
</head>
<body>
<div style="position:absolute; width:300px; height:100px; left:50%; margin-left:-250px; margin-top:180px; padding:60px; border:1px solid red">
<table>
<tr>
<td>
<input type="text" style="width:50px" value="0.0"; id="tInput" onfocus="setValue('block')"/>
<div id="addValue" style="width:51px; height:130px; z-index:2;position:absolute;top:82px;left:63px;"></div>
</td>
</tr>
</table>
</div>
<input type="button" id="btn" value="提交" onclick="showInputValue()"/>
<script>
function setValue(dValue,obj){
var divNode = document.getElementById("addValue");
if(dValue == "block"){
var iHtml="<ul style='list-style:none; border:1px solid #000;' onmouseout='toHander(this)'>"+
"<li class='lis' onclick =setValue('none',this)>0.5</li><li class='lis' onclick=setValue('none',this)>1.0</li><li class='lis' onclick=setValue('none',this)>1.5</li>"+
"<li class='lis'onclick=setValue('none',this)>2.0</li><li class='lis' onclick = setValue('none',this)>2.5</li><li onclick=setValue('none',this)>3.0</li></ul>";
divNode.innerHTML = iHtml;
}else{
//为控件input赋值[div中li的setValue()函数]
if(obj!=null){
var txtNode = document.getElementById("tInput");
//为text文本赋值为<li>标签中的值
txtNode.value=obj.innerHTML;
}
//隐藏div
divNode.innerHTML = "";
}
}
//设置移动上去变为收的形状
function toHander(obj){
obj.style.cursor = 'pointer';
}
//显示input的值
function showInputValue(){
var inpNode = document.getElementById("tInput");
alert(inpNode.value);
}
</script>
</body>
</html>
1.页面:创建一个input输入框,其下面有一个div
2.通过js函数,点击input的时候触发。为div中添加<ul><li></li></ul>列表
3.其中的<li></li>列表点击的时候,为input赋值为<li></li>中的值
实例:
<!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>无标题文档</title>
<style type="text/css">
*{
margin:0px;
padding:0px;
font-size:14px;
}
.lis{
border-bottom:1px solid #000;
}
</style>
</head>
<body>
<div style="position:absolute; width:300px; height:100px; left:50%; margin-left:-250px; margin-top:180px; padding:60px; border:1px solid red">
<table>
<tr>
<td>
<input type="text" style="width:50px" value="0.0"; id="tInput" onfocus="setValue('block')"/>
<div id="addValue" style="width:51px; height:130px; z-index:2;position:absolute;top:82px;left:63px;"></div>
</td>
</tr>
</table>
</div>
<input type="button" id="btn" value="提交" onclick="showInputValue()"/>
<script>
function setValue(dValue,obj){
var divNode = document.getElementById("addValue");
if(dValue == "block"){
var iHtml="<ul style='list-style:none; border:1px solid #000;' onmouseout='toHander(this)'>"+
"<li class='lis' onclick =setValue('none',this)>0.5</li><li class='lis' onclick=setValue('none',this)>1.0</li><li class='lis' onclick=setValue('none',this)>1.5</li>"+
"<li class='lis'onclick=setValue('none',this)>2.0</li><li class='lis' onclick = setValue('none',this)>2.5</li><li onclick=setValue('none',this)>3.0</li></ul>";
divNode.innerHTML = iHtml;
}else{
//为控件input赋值[div中li的setValue()函数]
if(obj!=null){
var txtNode = document.getElementById("tInput");
//为text文本赋值为<li>标签中的值
txtNode.value=obj.innerHTML;
}
//隐藏div
divNode.innerHTML = "";
}
}
//设置移动上去变为收的形状
function toHander(obj){
obj.style.cursor = 'pointer';
}
//显示input的值
function showInputValue(){
var inpNode = document.getElementById("tInput");
alert(inpNode.value);
}
</script>
</body>
</html>
相关文章推荐
- 练习:创建一个按钮,点击一次,则创建一个<input type="text"><input> 点击三次按钮,应该有三个输入框被创建出来。
- 给js创建的一个input数组绑定click事件
- Flex中如何创建一个具有良好排序效果的TileList
- js创建一个input数组并绑定click事件的方法
- 给js创建的一个input数组绑定click事件
- 给js创建的一个input数组绑定click事件
- 一个创建XMLHttpRequest对象的js文件(适用asp,php,jsp,asp.net等)
- 又一个类似QQ的效果(JS)
- 一个很Cool的JS菜单效果(类似flash)
- js实现的一个表格效果
- 一个JS翻页效果
- 网易滑动效果!一个js,页面任意滑动数量、任意调用
- CodeProject - 使用GDI+ for .NET创建一个含有水印效果的照片
- JS创建优美的页面滑动块效果 - Glider.js
- 在Excel中创建具有双坐标的图表效果
- 使用GDI+ for .NET创建一个含有水印效果的照片
- 用c++ builder 创建具有吸附效果的窗口
- 一个弹出页面的徐徐升起的js效果