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 相关文章推荐
textContent在Firefox下与innerText等效的属性
May 12 Javascript
DWZ刷新dialog解决方法
Mar 03 Javascript
深入理解Javascript里的依赖注入
Mar 19 Javascript
EasyUI中实现form表单提交的示例分享
Mar 01 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
AngularJS基础 ng-keypress 指令简单示例
Aug 02 Javascript
jquery实现input框获取焦点的方法
Feb 06 Javascript
js实现产品缩略图效果
Mar 10 Javascript
node操作mysql数据库实例详解
Mar 17 Javascript
node通过express搭建自己的服务器
Sep 30 Javascript
使用VUE实现在table中文字信息超过5个隐藏鼠标移到时弹窗显示全部
Sep 16 Javascript
vue实现移动端触屏拖拽功能
Aug 21 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 神盾解密工具
2014/06/08 PHP
深入理解PHP内核(一)
2015/11/10 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
PHP 接入支付宝即时到账功能
2016/09/18 PHP
Android AsyncTack 异步任务实例详解
2016/11/02 PHP
PHP+AJAX 投票器功能
2017/11/11 PHP
laravel 框架实现无限级分类的方法示例
2019/10/31 PHP
php经典趣味算法实例代码
2020/01/21 PHP
用javascript实现画板的代码
2007/09/05 Javascript
JavaScript操作XML实例代码(获取新闻标题并分页,并分页)
2010/05/25 Javascript
分享一个自己写的table表格排序js插件(高效简洁)
2011/10/29 Javascript
深入探究使JavaScript动画流畅的一些方法
2015/06/30 Javascript
javascript 应用小技巧方法汇总
2015/07/05 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
基于vue.js中事件修饰符.self的用法(详解)
2018/02/23 Javascript
django使用channels2.x实现实时通讯
2018/11/28 Javascript
Nginx设置为Node.js的前端服务器方法总结
2019/03/27 Javascript
使用nodeJS中的fs模块对文件及目录进行读写,删除,追加,等操作详解
2020/02/06 NodeJs
python实现定时播放mp3
2015/03/29 Python
python中引用与复制用法实例分析
2015/06/04 Python
Python函数装饰器常见使用方法实例详解
2019/03/30 Python
Python实现 PS 图像调整中的亮度调整
2019/06/28 Python
python 基于TCP协议的套接字编程详解
2019/06/29 Python
Django中提示消息messages的设置方式
2019/11/15 Python
迪卡侬(Decathlon)加拿大官网:源自法国的运动专业超市
2020/11/22 全球购物
EJB需直接实现它的业务接口或Home接口吗,请简述理由
2016/11/23 面试题
一句话工作感言
2014/03/01 职场文书
计算机系本科生求职信
2014/05/31 职场文书
大学生就业自荐书
2014/06/16 职场文书
2015年社区纪检工作总结
2015/04/21 职场文书
指导老师鉴定意见
2015/06/05 职场文书
最新的离婚协议书范本!
2019/07/02 职场文书
《中国古代诗歌散文欣赏》高中语文教材
2019/08/20 职场文书
Tensorflow与RNN、双向LSTM等的踩坑记录及解决
2021/05/31 Python