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循环变量注册dom事件 之强大的闭包
Sep 08 Javascript
13 个JavaScript 性能提升技巧分享
Jul 26 Javascript
在Ubuntu上安装最新版本的Node.js
Jul 14 Javascript
Javascript数组与字典用法分析
Dec 13 Javascript
jQuery中live()方法用法实例
Jan 19 Javascript
浅谈JavaScript变量的自动转换和语句
Jun 12 Javascript
JS实现添加,替换,删除节点元素的方法
Jun 30 Javascript
AngularJS打开页面隐藏显示表达式用法示例
Dec 25 Javascript
Vue实现动态显示textarea剩余字数
May 22 Javascript
JS获取子节点、父节点和兄弟节点的方法实例总结
Jul 06 Javascript
详解处理bootstrap4不支持远程静态框问题
Jul 20 Javascript
js实现从右往左匀速显示图片(无缝轮播)
Jun 29 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
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
php中将数组存到文件里的实现代码
2012/01/19 PHP
PHP在不同页面间传递Json数据示例代码
2013/06/08 PHP
php实现支付宝当面付(扫码支付)功能
2018/05/30 PHP
laravel model 两表联查示例
2019/10/24 PHP
JavaScript 解析读取XML文档 实例代码
2009/07/07 Javascript
javascript图像处理—仿射变换深度理解
2013/01/16 Javascript
鼠标滚轴控制文本框值的JS代码
2013/11/19 Javascript
javascript异步编程的4种方法
2014/02/19 Javascript
JS判断、校验MAC地址的2个实例
2014/05/05 Javascript
jquery动态改变form属性提交表单
2014/06/03 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
ES6中如何使用Set和WeakSet
2016/03/10 Javascript
基于jquery实现简单的分页控件
2016/03/17 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
js仿百度音乐全选操作
2017/01/13 Javascript
vue.js树形组件之删除双击增加分支实例代码
2017/02/28 Javascript
JS实现加载和读取XML文件的方法详解
2017/04/24 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
webpack分离css单独打包的方法
2018/06/12 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
Bootstrap实现省市区三级联动(亲测可用)
2019/07/26 Javascript
Vue-cli3项目引入Typescript的实现方法
2019/10/18 Javascript
jQuery实现简单弹幕制作
2020/12/10 jQuery
python登录豆瓣并发帖的方法
2015/07/08 Python
Python 读取图片文件为矩阵和保存矩阵为图片的方法
2018/04/27 Python
python导入pandas具体步骤方法
2019/06/23 Python
python变量命名的7条建议
2019/07/04 Python
django的auth认证,authenticate和装饰器功能详解
2019/07/25 Python
Sisley法国希思黎中国官网:享誉全球的奢华植物美容品牌
2019/06/30 全球购物
西班牙购买隐形眼镜、眼镜和太阳镜网站:Lentiamo.es
2020/06/11 全球购物
销售自荐信
2013/10/22 职场文书
银行会计财务工作个人的自我评价
2013/10/29 职场文书
悬空寺导游词
2015/02/05 职场文书
《社戏》教学反思
2016/02/22 职场文书