JS动态添加选项案例分析


Posted in Javascript onOctober 17, 2016

本文实例分析了JS动态添加选项的方法。分享给大家供大家参考,具体如下:

一、问题:

要做一个调查问卷,问题数量不定,问答答案不定。

JS动态添加选项案例分析

JS控答案效果图

二、实现方法:

为了实现这个效果,点击那个按钮就在下面添加4个答案框,选择从A-Z这26个字母,就是为了ASSIC码方便处理

看看HTML结果

<table width="100%" class="form">
  <tr>
  <th width="100px"><label>标题1:</label></th>
  <td align="left"><input type="text" class="large" id="title" name="title" /> <span class="error">请输入标题</span></td>
  </tr>
  <tr>
  <th width="100px"><label>选择类型:</label></th>
  <td align="left">
  <input type="radio" name="radio" />单选   
  <input type="radio" name="boxcheck" />多选   
  <input type="radio" name="select" />下拉   
  </td>
  </tr>
   <tr>
  <th width="100px"><label>答案:</label></th>
    <td align="left">
       <div>
         <div style="float:left;" id="1">
           A:<input type="text" class="mimi" name="A" />
           B:<input type="text" class="mimi" name="B" />
           C:<input type="text" class="mimi" name="C" />
           D:<input type="text" class="mimi" name="D"/>
         </div>
       </div>
         <div class="more" onclick="add_ask($(this))"> </div>
          </td>
    </tr>
</table>

通过这个上面这HTML结果,然后通过JS 实现

function add_ask($this)
{
 var $Word ="";
  //获取前面div层数
 var $div_num = $this.prev().children().attr("id");
  //增加图层
 var $div_next_num = Number($div_num)+1;
 var $last_children_name = $this.prev().children().last().children().last().attr("name").charCodeAt();
 var $html = "<div style=\"float:left;\" id="+$div_next_num+">";
  //进行四次循环
 if($last_children_name+4 <= 90)
 {
  for(var $i=1;$i<=4;$i++)
  {
   $Word = String.fromCharCode($last_children_name + $i);
   $html += $Word+":<input type=\"text\" class=\"mimi\" name="+$Word+" />";
  }
 }else
 {
   $end = 90 - $last_children_name;
   for(var $i=1;$i<=$end;$i++)
  {
   $Word = String.fromCharCode($last_children_name + $i);
   $html += $Word+":<input type=\"text\" class=\"mimi\" name="+$Word+" />";
  }
 }
  $html += "</div>";
 $this.prev().append($html);
}

上面的JS 是通过jquery实现,原理很简答,我就不说太多了。

巧妙的地方就是通过assic码数字转换来实现选项增加。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
两种常用的javascript数组去重方法思路及代码
Mar 26 Javascript
在javascript中执行任意html代码的方法示例解读
Dec 25 Javascript
JS利用cookie记忆当前位置的防刷新导航效果
Oct 15 Javascript
Spring MVC中Ajax实现二级联动的简单实例
Jul 06 Javascript
同步文本框内容JS代码实现
Aug 04 Javascript
JS中对数组元素进行增删改移的方法总结
Dec 15 Javascript
jQuery Masonry瀑布流插件使用方法详解
Jan 18 Javascript
详解JavaScript调用栈、尾递归和手动优化
Jun 03 Javascript
详解angularJS+Ionic移动端图片上传的解决办法
Sep 13 Javascript
详解VUE 数组更新
Dec 16 Javascript
webpack + vue 打包生成公共配置文件(域名) 方便动态修改
Aug 29 Javascript
vue同个按钮控制展开和折叠同个事件操作
Jul 29 Javascript
Java  Spring 事务回滚详解
Oct 17 #Javascript
使用jquery.qrcode.js生成二维码插件
Oct 17 #Javascript
js浏览器html5表单验证
Oct 17 #Javascript
使用开源工具制作网页验证码的方法
Oct 17 #Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 #Javascript
JavaScript中的ajax功能的概念和示例详解
Oct 17 #Javascript
JQuery中解决重复动画的方法
Oct 17 #Javascript
You might like
表单提交错误后返回内容消失问题的解决方法(PHP网站)
2015/10/20 PHP
详解PHP实现支付宝小程序用户授权的工具类
2018/12/25 PHP
翻译整理的jQuery使用查询手册
2007/03/07 Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
JS 控件事件小结
2012/10/31 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
使用JavaScript和CSS实现文本隔行换色的方法
2015/11/04 Javascript
AngularJs中route的使用方法和配置
2016/02/04 Javascript
javascript函数自动执行常用方法汇总
2016/03/28 Javascript
微信小程序云开发(数据库)详解
2019/05/17 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
JsonServer安装及启动过程图解
2020/02/28 Javascript
vue 实现锚点功能操作
2020/08/10 Javascript
下载安装setuptool和pip linux安装pip    
2014/01/24 Python
Python中datetime常用时间处理方法
2015/06/15 Python
Python中表示字符串的三种方法
2017/09/06 Python
pycharm安装和首次使用教程
2018/08/27 Python
实例讲解Python中浮点型的基本内容
2019/02/11 Python
python opencv 图像拼接的实现方法
2019/06/27 Python
python 生成器和迭代器的原理解析
2019/10/12 Python
vim自动补全插件YouCompleteMe(YCM)安装过程解析
2019/10/21 Python
浅谈python print(xx, flush = True) 全网最清晰的解释
2020/02/21 Python
Python环境配置实现pip加速过程解析
2020/11/27 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
简单说下OSPF的操作过程
2014/08/13 面试题
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
环境工程与管理大学毕业生求职信
2013/10/02 职场文书
网络编辑职责
2014/03/01 职场文书
青年志愿者活动总结
2014/04/26 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
付款证明模板
2015/06/19 职场文书
催款函范文
2015/06/24 职场文书
三国演义读书笔记
2015/06/25 职场文书
MySQL中int (10) 和 int (11) 的区别
2022/01/22 MySQL
配置nginx负载均衡
2022/05/06 Servers