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 设计模式 推荐
Oct 28 Javascript
jQuery $.each的用法说明
Mar 22 Javascript
jquery 选项卡效果 新手代码
Jul 08 Javascript
json原理分析及实例介绍
Nov 29 Javascript
JS动态修改表格cellPadding和cellSpacing的方法
Mar 31 Javascript
Bootstrap每天必学之导航
Nov 26 Javascript
Javascript动画效果(2)
Oct 11 Javascript
你有必要知道的10个JavaScript难点
Jul 25 Javascript
JavaScript实现图片拖曳效果
Sep 08 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
Nov 25 Javascript
SSM+layUI 根据登录信息显示不同的页面方法
Sep 20 Javascript
JavaScript编码小技巧分享
Sep 17 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 文章调用类代码
2011/08/11 PHP
深入PHP中慎用双等于(==)的详解
2013/06/06 PHP
yii框架配置默认controller和action示例
2014/04/30 PHP
PHP源码分析之变量的存储过程分解
2014/07/03 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
Laravel 6.2 中添加了可调用容器对象的方法
2019/10/22 PHP
IE 缓存策略的BUG的解决方法
2007/07/21 Javascript
JavaScript创建一个欢迎cookie弹出窗实现代码
2013/03/15 Javascript
IE中JS跳转丢失referrer问题的2个解决方法
2014/07/18 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
JS实现的点击表头排序功能示例
2017/03/27 Javascript
详解基于Node.js的微信JS-SDK后端接口实现代码
2017/07/15 Javascript
详解webpack-dev-server的简单使用
2018/04/02 Javascript
jQuery轻量级表单模型验证插件
2018/10/15 jQuery
详解vue中使用vue-quill-editor富文本小结(图片上传)
2019/04/24 Javascript
JavaScript工具库MyTools详解
2020/01/01 Javascript
koa2的中间件功能及应用示例
2020/03/05 Javascript
jQuery实现回到顶部效果
2020/10/19 jQuery
使用Vue实现一个树组件的示例
2020/11/06 Javascript
javascript实现下拉菜单效果
2021/02/09 Javascript
Python环境下搭建属于自己的pip源的教程
2016/05/05 Python
Python的mysql数据库的更新如何实现
2017/07/31 Python
Python 获取当前所在目录的方法详解
2017/08/02 Python
python实现数独游戏 java简单实现数独游戏
2018/03/30 Python
python 异或加密字符串的实例
2018/10/14 Python
Python通过TensorFlow卷积神经网络实现猫狗识别
2019/03/14 Python
Python自动抢红包教程详解
2019/06/11 Python
Python shelve模块实现解析
2019/08/28 Python
竞选班干部演讲稿500字
2014/08/20 职场文书
2015年世界无车日活动总结
2015/03/23 职场文书
房产遗嘱范本
2015/08/06 职场文书
MySQL 8.0 驱动与阿里druid版本兼容问题解决
2021/07/01 MySQL
python中的getter与setter你了解吗
2022/03/24 Python
nginx静态资源的服务器配置方法
2022/07/07 Servers