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 相关文章推荐
JQUERY1.6 使用方法四 检测浏览器
Nov 23 Javascript
JavaScript常用全局属性与方法记录积累
Jul 03 Javascript
Backbone.js 0.9.2 源码注释中文翻译版
Jun 25 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
js 创建对象 经典模式全面了解
Aug 16 Javascript
webpack入门+react环境配置
Feb 08 Javascript
es6学习之解构时应该注意的点
Aug 29 Javascript
浅谈Vue下使用百度地图的简易方法
Mar 23 Javascript
vue组件三大核心概念图文详解
May 30 Javascript
在Vue项目中,防止页面被缩放和放大示例
Oct 28 Javascript
antd配置config-overrides.js文件的操作
Oct 31 Javascript
vue2实现provide inject传递响应式
May 21 Vue.js
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
IIS6+PHP5+MySQL5+Zend Optimizer+phpMyAdmin安装配置图文教程 2009年
2009/06/08 PHP
用php的ob_start来生成静态页面的方法分析
2011/03/09 PHP
PHP禁止页面缓存的代码
2011/10/23 PHP
php中array_column函数简单实现方法
2016/07/11 PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
2017/07/03 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
JavaScript使用技巧精萃[代码非常实用]
2008/11/21 Javascript
判断脚本加载是否完成的方法
2009/05/26 Javascript
jQuery如何取id有.的值一般的方法是取不到的
2014/04/18 Javascript
js检测判断日期大于多少天的方法
2015/05/04 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
利用HTML5的画布Canvas实现刮刮卡效果
2015/09/06 Javascript
浅析JavaScript中命名空间namespace模式
2016/06/22 Javascript
AngularJS使用ng-repeat和ng-if实现数据的删选显示效果示例【适用于表单数据的显示】
2016/12/13 Javascript
jQuery 实现批量提交表格多行数据的方法
2018/08/09 jQuery
使用npm命令提示: 'npm' 不是内部或外部命令,也不是可运行的程序的处理方法
2020/05/14 Javascript
如何在postman测试用例中实现断言过程解析
2020/07/09 Javascript
原生js实现购物车功能
2020/09/23 Javascript
[04:19]完美世界携手游戏风云打造 卡尔工作室模型介绍篇
2013/04/24 DOTA
django开发教程之利用缓存文件进行页面缓存的方法
2017/11/10 Python
python分析作业提交情况
2017/11/22 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
2018/01/02 Python
python+opencv轮廓检测代码解析
2018/01/05 Python
python实现Decorator模式实例代码
2018/02/09 Python
树莓派使用python-librtmp实现rtmp推流h264的方法
2019/07/22 Python
Django应用程序入口WSGIHandler源码解析
2019/08/05 Python
施华洛世奇匈牙利官网:SWAROVSKI匈牙利
2019/07/06 全球购物
4s店总经理岗位职责
2013/12/31 职场文书
教师试用期自我鉴定
2014/02/12 职场文书
施工质量承诺书范文
2014/05/30 职场文书
525心理活动总结
2014/07/04 职场文书
2015年效能监察工作总结
2015/04/23 职场文书
高三教师工作总结2015
2015/07/21 职场文书
Python数据可视化之基于pyecharts实现的地理图表的绘制
2021/06/10 Python
前端JavaScript大管家 package.json
2021/11/02 Javascript