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 相关文章推荐
模拟jQuery ajax服务器端与客户端通信的代码
Mar 28 Javascript
Jquery中children与find之间的区别详细解析
Nov 29 Javascript
JavaScript String 对象常用方法总结
Apr 28 Javascript
JS中BOM相关知识点总结(必看篇)
Nov 22 Javascript
微信小程序 向左滑动删除功能的实现
Mar 10 Javascript
javascript数据结构中栈的应用之符号平衡问题
Apr 11 Javascript
angularjs+bootstrap实现自定义分页的实例代码
Jun 19 Javascript
使用vue-cli编写vue插件的方法
Feb 26 Javascript
详解vuex的简单使用
Mar 12 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
Jun 10 Javascript
关于IDEA中的.VUE文件报错 Export declarations are not supported by current JavaScript version
Oct 17 Javascript
解决vue打包 npm run build-test突然不动了的问题
Nov 13 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
php 设计模式之 工厂模式
2008/12/19 PHP
php array_flip() 删除数组重复元素
2009/01/14 PHP
ThinkPHP无限级分类原理实现留言与回复功能实例
2014/10/31 PHP
PHP面向对象自动加载机制原理与用法分析
2016/10/14 PHP
thinkPHP统计排行与分页显示功能示例
2016/12/02 PHP
DOM下的节点属性和操作小结
2009/05/14 Javascript
用js做一个小游戏平台 (一)
2009/12/29 Javascript
兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码
2011/11/30 Javascript
JS数组的赋值介绍
2014/03/10 Javascript
JS实现图片无间断滚动代码汇总
2014/07/30 Javascript
使用JavaScript+canvas实现图片裁剪
2015/01/30 Javascript
AngularJS $injector 依赖注入详解
2016/09/14 Javascript
jQuery网页定位导航特效实现方法
2016/12/19 Javascript
纯js实现页面返回顶部的动画(超简单)
2017/08/10 Javascript
jQuery实现可兼容IE6的滚动监听功能
2017/09/20 jQuery
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
Vue中Quill富文本编辑器的使用教程
2018/09/21 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
在vue-cli中引入lodash.js并使用详解
2019/11/13 Javascript
node.js开发辅助工具nodemon安装与配置详解
2020/02/06 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
vue实现移动端触屏拖拽功能
2020/08/21 Javascript
小程序实现点击tab切换左右滑动
2020/11/16 Javascript
python中执行shell命令的几个方法小结
2014/09/18 Python
用Python读取几十万行文本数据
2018/12/24 Python
Python列表切片操作实例总结
2019/02/19 Python
对python 中re.sub,replace(),strip()的区别详解
2019/07/22 Python
python opencv将图片转为灰度图的方法示例
2019/07/31 Python
浅谈pytorch池化maxpool2D注意事项
2020/02/18 Python
导致python中import错误的原因是什么
2020/07/01 Python
python 基于pygame实现俄罗斯方块
2021/03/02 Python
HTML5之SVG 2D入门9—蒙板及mask元素介绍与应用
2013/01/30 HTML / CSS
英国家用电器购物网站:Hughes
2018/02/23 全球购物
英国女性化妆品收纳和家具网站:Beautify
2019/12/07 全球购物
解决方案设计综合面试题
2015/08/31 面试题
战略性融资合作协议书范本
2014/10/17 职场文书