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小实验之函数引用
Nov 17 Javascript
40款非常棒的jQuery 插件和制作教程(系列一)
Oct 26 Javascript
利用Keydown事件阻止用户输入实现代码
Mar 11 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
JavaScript创建闭包的两种方式的优劣与区别分析
Jun 22 Javascript
jquery attr()设置和获取属性值实例教程
Sep 25 Javascript
jQuery密码强度验证控件使用详解
Jan 05 Javascript
URL中“#” “?” &amp;“”号的作用浅析
Feb 04 Javascript
浅析node Async异步处理模块用例分析及常用方法介绍
Nov 17 Javascript
vue-cli3脚手架的配置及使用教程
Aug 28 Javascript
Vue 引入AMap高德地图的实现代码
Apr 29 Javascript
node.js文件操作系统实例详解
Nov 05 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
Terran历史背景
2020/03/14 星际争霸
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
php验证码实现代码(3种)
2015/09/07 PHP
javascript 避免闭包引发的问题
2009/03/17 Javascript
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
jquery和css3实现的炫酷时尚的菜单导航
2014/09/01 Javascript
javascript实现textarea中tab键的缩排处理方法
2015/06/26 Javascript
nodejs实现bigpipe异步加载页面方案
2016/01/26 NodeJs
Node.js 应用跑得更快 10 个技巧
2016/04/03 Javascript
JS常见简单正则表达式验证功能小结【手机,地址,企业税号,金额,身份证等】
2017/01/22 Javascript
nodejs中函数的调用实例详解
2018/10/31 NodeJs
微信小程序实现简易table表格
2020/06/19 Javascript
简述ES6新增关键字let与var的区别
2019/08/23 Javascript
Vue项目利用axios请求接口下载excel
2020/11/17 Vue.js
[10:05]DOTA2-DPC中国联赛 正赛 iG vs PSG.LGD 选手采访
2021/03/11 DOTA
python处理大数字的方法
2015/05/27 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
python实现的MySQL增删改查操作实例小结
2018/12/19 Python
解决python中用matplotlib画多幅图时出现图形部分重叠的问题
2019/07/07 Python
解决django中ModelForm多表单组合的问题
2019/07/18 Python
Python利用socket模块开发简单的端口扫描工具的实现
2021/01/27 Python
什么是CSS3 HSLA色彩模式?HSLA模拟渐变色条
2016/04/26 HTML / CSS
德国的大型美妆个护电商:Flaconi
2020/06/26 全球购物
哪些情况下不应该使用索引
2015/07/20 面试题
关于Assembly命名空间的三个面试题
2015/07/23 面试题
旅行社各个岗位职责
2014/03/15 职场文书
地质灾害防治方案
2014/05/14 职场文书
领导干部保密承诺书
2014/08/30 职场文书
出生医学证明书
2014/09/15 职场文书
教师业务学习材料
2014/12/16 职场文书
2015年八一建军节活动总结
2015/03/20 职场文书
评测 | 大屏显示带收音机的高端音箱,JBL TUNE2便携式插卡音箱实测
2021/04/24 无线电
Python3 如何开启自带http服务
2021/05/18 Python
据Python爬虫不靠谱预测可知今年双十一销售额将超过6000亿元
2021/11/11 Python
基于Python实现射击小游戏的制作
2022/04/06 Python