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 路由和过滤器使用说明
Aug 02 Javascript
解析Javascript中中括号“[]”的多义性
Dec 03 Javascript
js的Boolean对象初始值示例
Mar 04 Javascript
javascript中scrollTop详解
Apr 13 Javascript
javascript实现日期按月份加减
May 15 Javascript
JavaScript中指定函数名称的相关方法
Jun 04 Javascript
javascript实现确定和取消提示框效果
Jul 10 Javascript
jQuery获取某天的农历日期并判断是否除夕或新年的方法
Mar 01 Javascript
基于JavaScript实现添加到购物车效果附源码下载
Aug 22 Javascript
基于Three.js插件制作360度全景图
Nov 29 Javascript
网页爬虫之cookie自动获取及过期自动更新的实现方法
Mar 06 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
Sep 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你的验证码安全码?
2007/01/02 PHP
附件名前加网站名
2008/03/23 PHP
php mssql 日期出现中文字符的解决方法
2009/03/10 PHP
PHP无限分类(树形类)的深入分析
2013/06/02 PHP
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
2013/12/17 Javascript
IE下Ajax缓存问题的快速解决方法(get方式)
2014/01/09 Javascript
JS调用页面表格导出excel示例代码
2014/03/18 Javascript
javascript面向对象之定义成员方法实例分析
2015/01/13 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
多种js图片预加载实现方式分享
2016/02/19 Javascript
聊一聊JavaScript作用域和作用域链
2016/05/03 Javascript
JS+CSS3模拟溢出滚动效果
2016/08/12 Javascript
JavaScript 深层克隆对象详解及实例
2016/11/03 Javascript
AngularJS点击添加样式、点击变色设置的实例代码
2017/07/27 Javascript
JS正则表达式完美实现身份证校验功能
2017/10/18 Javascript
JavaScript正则表达式函数总结(常用)
2018/02/22 Javascript
解决vue2中使用axios http请求出现的问题
2018/03/05 Javascript
详解各版本React路由的跳转的方法
2018/05/10 Javascript
vue观察模式浅析
2018/09/25 Javascript
vue里的data要用return返回的原因浅析
2019/05/28 Javascript
微信小程序实现日历小功能
2020/11/18 Javascript
[00:52]黑暗之门更新 新英雄孽主驾临DOTA2
2016/08/24 DOTA
Python open读写文件实现脚本
2008/09/06 Python
python益智游戏计算汉诺塔问题示例
2014/03/05 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Pandas_cum累积计算和rolling滚动计算的用法详解
2019/07/04 Python
详解python中的生成器、迭代器、闭包、装饰器
2019/08/22 Python
Python彻底删除文件夹及其子文件方式
2019/12/23 Python
美国批发零售网站:GearXS
2016/07/26 全球购物
大学生职业规划范文:象牙塔生活的四年计划
2014/01/14 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
给校长的建议书500字
2014/05/15 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书
php微信小程序解包过程实例详解
2021/03/31 PHP
html5中sharedWorker实现多页面通信的示例代码
2021/05/07 Javascript
详解Python中__new__方法的作用
2022/03/31 Python