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 相关文章推荐
Javascript学习笔记一 之 数据类型
Dec 15 Javascript
JS实现灵巧的下拉导航效果代码
Aug 25 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
May 15 Javascript
jQuery控制文本框只能输入数字和字母及使用方法
May 26 Javascript
AngularJS基础 ng-cut 指令介绍及简单示例
Aug 01 Javascript
Bootstrap table的使用方法
Nov 02 Javascript
jquery easyui validatebox remote的使用详解
Nov 09 Javascript
jQuery中的select操作详解
Nov 29 Javascript
详解webpack性能优化——DLL
Oct 20 Javascript
angularjs实现天气预报功能
Jun 16 Javascript
关于react-router/react-router-dom v4 history不能访问问题的解决
Jan 08 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
Aug 08 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+MSSQL分页的例子
2006/10/09 PHP
PHP安装攻略:常见问题解答(三)
2006/10/09 PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
2007/04/18 PHP
php zlib压缩和解压缩swf文件的代码
2008/12/30 PHP
PHP Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
PHP加Nginx实现动态裁剪图片方案
2014/03/10 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
php禁用函数设置及查看方法详解
2016/07/25 PHP
PHP抽象类和接口用法实例详解
2019/07/20 PHP
asp 的 分词实现代码
2007/05/24 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
jquery.ui.draggable中文文档
2009/11/24 Javascript
jquery+ajax实现跨域请求的方法
2015/01/20 Javascript
JavaScript中对DOM节点的访问、创建、修改、删除
2015/11/16 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
js判断手机系统是android还是ios
2017/03/07 Javascript
深入理解vue路由的使用
2017/03/24 Javascript
js浏览器滚动条卷去的高度scrolltop(实例讲解)
2017/07/07 Javascript
vue.js获得当前元素的文字信息方法
2018/03/09 Javascript
Vue之beforeEach非登录不能访问的实现(代码亲测)
2019/07/18 Javascript
springboot+vue实现文件上传下载
2020/11/17 Vue.js
[02:10]三分钟回顾完美世界城市挑战赛
2019/01/24 DOTA
python轻松查到删除自己的微信好友
2016/01/10 Python
Python 实现文件的全备份和差异备份详解
2016/12/27 Python
python pcm音频添加头转成Wav格式文件的方法
2019/01/09 Python
python爬取基于m3u8协议的ts文件并合并
2019/04/26 Python
python简单验证码识别的实现方法
2019/05/10 Python
django ORM之values和annotate使用详解
2020/05/19 Python
adidas官方旗舰店:德国运动用品制造商
2017/11/25 全球购物
会计电算化专业个人的自我评价
2013/11/24 职场文书
中专生自我鉴定范文
2013/12/19 职场文书
食品安全检查制度
2014/02/03 职场文书
《天安门广场》教学反思
2014/04/23 职场文书
婚礼新人答谢词
2015/01/04 职场文书
2019年度开业庆典祝福语大全!
2019/07/05 职场文书
MySQL 那些常见的错误设计规范,你都知道吗
2021/07/16 MySQL