js点击文本框弹出可选择的checkbox复选框


Posted in Javascript onFebruary 03, 2016

本文分享一段代码实例,它能够点击文本框的时候,能够弹出下拉的checkbox复选框,选中复选框就能够将值写入文本框中,可能在实际应用中的效果没有这么直白简单,不过可以作为一个例子演示,以便于学习者理解和扩展。
代码如下:

<html>
<head>
<meta charset="gb2312">
<title>js点击文本框弹出可选择的checkbox复选框</title>
<style type="text/css">
#div{
 margin-bottom:10px;
 position:relative;
}
#div1{
 width:153px;
 padding-top:0px;
 padding-left:0px;
 position:absolute;
}
#div1 ul{
 margin-top:0px;
 padding-left:0px;
 background-color:#ccc;
 list-style:none;
}
#div1 ul li{
 padding-left:0px;
}
#div1 ul li input{
 margin-left:15px;
}
.close{
 display:none;
}
.open{
 display:block;
}
</style>
<script type="text/javascript" src="mytest/jQuery/jquery-1.8.3.js"></script>
<script type="text/javascript"> 
$(function(){ 
 var position=$("#xx").offset(); 
 $("#div1").offset({ 
  top:position.top+22,
  left:position.left
 }); 
 $("#xx").click(function(){ 
  $("#NG").toggleClass("open"); 
 });
 $("#div1 input[name=ng]").click(function(){ 
  var arr=new Array(); 
  $("input[name=ng]:checked").each(function(key,value){
   arr[key]=$(value).val();
  }); 
  $("#xx").val(arr.join(",")); 
 }) 
}) 
</script>
</head>
<body>
<div id="div">
 <div align="center" id="div2" >
  <form id="form1">
   <input type="text" readonly="readonly" id="xx"/>
   <input type="submit" value="查询"/>
  </form>
 </div>
 <div id="div1">
  <ul class="close" id="NG" >
   <li><input type="checkbox" name="ng" value=1 />1</li>
   <li><input type="checkbox" name="ng" value=2 />2</li>
   <li><input type="checkbox" name="ng" value=3 />3</li>
  </ul>
 </div>
</div>
</body>
</html>

以上代码实现了我们的要求,下面介绍一下它的实现过程。
代码注释:
1.$(function(){}),当文档结构完全加载完毕再去执行函数中的代码。
2.var position=$("#xx").offset(),获取文本框相对于document文档的偏移量,offset()函数返回的是一个对象,此对象包含两个属性left和top,分别表示相对于文档的水平和垂直偏移量。
3.$("#div1").offset({top:position.top+22,left:position.left}),设置弹出下拉菜单容器的相对文档的偏移量,第一个加22是为了使其在文本框的下面显示。
4.$("#xx").click(function(){$("#NG").toggleClass("open");}),为文本框注册click事件处理函数,点击它可以切换样式类open删除和添加,也就是设置下拉菜单的显示和隐藏。
5.$("#div1 input[name=ng]").click(function(){ }),为name属性值为ng的文本框注册click事件处理函数。
6.var arr=new Array(),创建一个数组,用来存放选中checkbox复选框的value值。
7.$("input[name=ng]:checked").each(function(key,value){arr[key]=$(value).val();}),将选中的复选框的值存入数组。
8.$("#xx").val(arr.join(","));,将数组元素连接成字符串写入文本框。

希望本文所述对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
js CSS操作方法集合
Oct 31 Javascript
手把手教你自己写一个js表单验证框架的方法
Sep 14 Javascript
Javascript查询DBpedia小应用实例学习
Mar 07 Javascript
Jquery实现带动画效果的经典二级导航菜单
Mar 22 Javascript
jquery 操作两个select实现值之间的互相传递
Mar 07 Javascript
jQuery实现友好的轮播图片特效
Jan 12 Javascript
jQuery选择器源码解读(七):elementMatcher函数
Mar 31 Javascript
ECMAScript6中Map/WeakMap详解
Jun 12 Javascript
node.js连接mongoDB数据库 快速搭建自己的web服务
Apr 17 Javascript
如何防止INPUT按回车自动提交表单FORM
Dec 06 Javascript
vue.js实现请求数据的方法示例
Feb 07 Javascript
layui字体图标 loading图标静止不旋转的解决方法
Sep 23 Javascript
AngularJS实现Model缓存的方式
Feb 03 #Javascript
JS实现CheckBox复选框全选、不选或全不选功能
Jul 28 #Javascript
javascript实现在网页中运行本地程序的方法
Feb 03 #Javascript
简单实现js选项卡切换效果
Feb 03 #Javascript
Eclipse编辑jsp、js文件时卡死现象的解决办法汇总
Feb 02 #Javascript
JavaScript+html5 canvas实现本地截图教程
Apr 16 #Javascript
javascript自定义滚动条实现代码
Apr 20 #Javascript
You might like
提问的智慧(2)
2006/10/09 PHP
不用GD库生成当前时间的PNG格式图象的程序
2006/10/09 PHP
解析PHP之提取多维数组指定列的方法
2017/01/03 PHP
PHP基于接口技术实现简单的多态应用完整实例
2017/04/26 PHP
php文件包含的几种方式总结
2019/09/19 PHP
弹出广告特效(一个IP只弹出一次)的代码
2007/07/27 Javascript
jquery 将disabled的元素置为enabled的三种方法
2009/07/25 Javascript
javascript cookies 设置、读取、删除实例代码
2010/04/12 Javascript
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
如何通过javascript操作web控件的自定义属性
2013/11/25 Javascript
JavaScript中的继承方式详解
2015/02/11 Javascript
JavaScript电子时钟倒计时
2016/01/09 Javascript
深入浅析Extjs中store分组功能的使用方法
2016/04/20 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
详解Angular4中路由Router类的跳转navigate
2017/06/09 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
SelectPage v2.4 发布新增纯下拉列表和关闭分页功能
2017/09/07 Javascript
SVG动画vivus.js库使用小结(实例代码)
2017/09/14 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
浅析js实现网页截图的两种方式
2019/11/01 Javascript
小程序实现长按保存图片的方法
2019/12/31 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
使用Node.js实现base64和png文件相互转换的方法
2020/03/11 Javascript
jQuery实现颜色打字机的完整代码
2020/03/19 jQuery
Python中属性和描述符的正确使用
2016/08/23 Python
如何基于python生成list的所有的子集
2019/11/11 Python
python try...finally...的实现方法
2020/11/25 Python
基于html和CSS3制作酷炫的导航栏
2015/09/23 HTML / CSS
STP协议的主要用途是什么?为什么要用STP
2012/12/20 面试题
《哪吒闹海》教学反思
2014/02/28 职场文书
股东合作协议书
2014/09/12 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
2015年司法所工作总结
2015/04/27 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS