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 相关文章推荐
js 禁止选择功能实现代码(兼容IE/Firefox)
Apr 23 Javascript
了解一点js的Eval函数
Jul 26 Javascript
js简单实现根据身份证号码识别性别年龄生日
Nov 29 Javascript
如何使用HTML5地理位置定位功能
Apr 27 Javascript
php利用curl获取远程图片实现方法
Oct 26 Javascript
基于jquery实现图片上传本地预览功能
Jan 08 Javascript
DIV+CSS+jQ实现省市联动可扩展
Jun 22 Javascript
JS设计模式之状态模式概念与用法分析
Feb 05 Javascript
vue实现随机验证码功能的实例代码
Apr 30 Javascript
基于ant design日期控件使用_仅月份的操作
Oct 27 Javascript
微信小程序对图片进行canvas压缩的方法示例详解
Nov 12 Javascript
五句话帮你轻松搞定js原型链
Dec 09 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
DedeCMS dede_channeltype表字段注释
2010/04/07 PHP
destoon出现验证码不显示时的紧急处理方法
2014/08/22 PHP
PHP的serialize序列化数据以及JSON格式化数据分析
2015/10/10 PHP
基于thinkPHP框架实现留言板的方法
2016/10/17 PHP
解决Laravel无法使用COOKIE和SESSION的问题
2019/10/16 PHP
js过滤数组重复元素的方法
2010/09/05 Javascript
ASP.NET jQuery 实例17 通过使用jQuery validation插件校验ListBox
2012/02/03 Javascript
ie中js创建checkbox默认选中问题探讨
2013/10/21 Javascript
微信JS接口大全
2016/08/25 Javascript
JS去除重复并统计数量的实现方法
2016/12/15 Javascript
Vue.js实战之组件之间的数据传递
2017/04/01 Javascript
Vue学习笔记进阶篇之vue-cli安装及介绍
2017/07/18 Javascript
微信小程序模版渲染详解
2018/01/26 Javascript
详解如何在微信小程序中愉快地使用sass
2018/07/30 Javascript
vue中img src 动态加载本地json的图片路径写法
2019/04/25 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
2019/12/29 Javascript
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
微信小程序实现弹框效果
2020/05/26 Javascript
jquery实现鼠标悬浮弹出气泡提示框
2020/12/23 jQuery
python中set常用操作汇总
2016/06/30 Python
Python3使用turtle绘制超立方体图形示例
2018/06/19 Python
Python实现快速计算词频功能示例
2018/06/25 Python
python使用Plotly绘图工具绘制气泡图
2019/04/01 Python
详解python 爬取12306验证码
2019/05/10 Python
Python中函数的基本定义与调用及内置函数详解
2019/05/13 Python
python多线程与多进程及其区别详解
2019/08/08 Python
python-OpenCV 实现将数组转换成灰度图和彩图
2020/01/09 Python
python 如何将office文件转换为PDF
2020/09/22 Python
CSS3中Animation属性的使用详解
2015/08/06 HTML / CSS
前台接待的工作职责
2013/11/21 职场文书
运动会领导邀请函
2014/02/05 职场文书
环境建设实施方案
2014/03/14 职场文书
法制报告会主持词
2014/04/02 职场文书
政府会议通知范文
2015/04/15 职场文书
奖励通知
2015/04/22 职场文书
乡镇法制宣传日活动总结
2015/05/05 职场文书