JS 操作 radio input(cc问卷管理)

1、选中特定的单选按钮

function showDetail(content){$("input[name^='radio']").removeAttr("checked");for(var i=0;i<content.length;i++){$("#radio"+(i+1)+content.substr(i,1)).attr("checked","checked");}
}

2、手动添加问卷

javascript部分代码

  1                 $('.handleSaveBtn').click(function(){
  2                     //判空,标题、有效期、题干、选项、分值
  3                     if ($("#title1").val() === '') {
  4                         alert("问卷标题不可为空");
  5                         return;
  6                     }
  7                     if ($("#timeOut1").val() === '') {
  8                         alert("问卷有效期不可为空");
  9                         return;
 10                     }
 11                     var flag=0;
 12                     $("input[name^='q']").each(function(){
 13                         if($(this).val()===""){
 14                             alert("题干、选项、分值等不可为空!");
 15                             flag=1;
 16                             return false;
 17                         }
 18                     });
 19                     if(flag===1){
 20                         return;
 21                     }
 22                     //组成问卷questions部分
 23                     var obj=new Object();
 24                     var questions=new Array();
 25                     var totalScore=0,score1,score2,score3,score4;
 26                     for(var i=0;i<10;i++){
 27                         var j=i+1;
 28                         var question=new Object();
 29                         var type=$("#type"+j).val();
 30                         question.type=type;
 31                         question.ordinal=j;
 32                         question.content=$("input[name='q"+j+"']").val();
 33                         if(type==='SINGLE'){
 34                             var choice1={"value":"A","content":$('input[name="q'+j+'c1"]').val(),"score":$('input[name="q'+j+'cm1"]').val()};
 35                             var choice2={"value":"B","content":$('input[name="q'+j+'c2"]').val(),"score":$('input[name="q'+j+'cm2"]').val()};
 36                             var choice3={"value":"C","content":$('input[name="q'+j+'c3"]').val(),"score":$('input[name="q'+j+'cm3"]').val()};
 37                             var choice4={"value":"D","content":$('input[name="q'+j+'c4"]').val(),"score":$('input[name="q'+j+'cm4"]').val()};
 38                             question.choices=[choice1,choice2,choice3,choice4];
 39                             
 40                             score1=$('input[name="q'+j+'cm1"]').val();
 41                             score2=$('input[name="q'+j+'cm2"]').val();
 42                             score3=$('input[name="q'+j+'cm3"]').val();
 43                             score4=$('input[name="q'+j+'cm4"]').val();
 44                             if(score1<score2){
 45                                 score1=score2;
 46                             }
 47                             if(score3<score4){
 48                                 score1=score2;
 49                             }
 50                             if(score1<score3){
 51                                 score1=score3;
 52                             }
 53                         }else if(type==='MULTIPLE'){
 54                             var choice1={"value":"A","content":"是","score":$('input[name="q'+j+'cm1"]').val()};
 55                             var choice2={"value":"B","content":"否","score":$('input[name="q'+j+'cm2"]').val()};
 56                             question.choices=[choice1,choice2];
 57                             
 58                             score1=$('input[name="q'+j+'cm1"]').val();
 59                             score2=$('input[name="q'+j+'cm2"]').val();
 60                             if(score1<score2){
 61                                 score1=score2;
 62                             }
 63                         }else{
 64                             var choice1={"value":"A","content":$('input[name="q'+j+'c1"]').val(),"score":$('input[name="q'+j+'cm1"]').val()};
 65                             question.choices=[choice1];
 66                             score1=$('input[name="q'+j+'cm1"]').val();
 67                         }
 68                         totalScore+score1;
 69                         questions.push(question);
 70                     }
 71                     if(totalScore>100){
 72                         alert("总分不能超过100!");
 73                         return;
 74                     }
 75                     obj.questions=questions;
 76                     var json=JSON.stringify(obj);
 77                     
 78                     var formData = new FormData();
 79                     formData.append("title",$("#title1").val());
 80                     formData.append("status",$("#status1").val());
 81                     formData.append("timeOut",$("#timeOut1").val());
 82                     formData.append("questions",json);
 83                     alert(json);
 84                     
 85                     //提交
 86                     var url = 'cms/survey/add2';
 87                     $.ajax({
 88                         url: url,
 89                         data: formData,
 90                         processData: false,
 91                         contentType: false,
 92                         type: 'POST',
 93                         success: function (job) {
 94                             console.log(job);
 95                             if (job) {
 96                                 alert("问卷添加成功!");
 97                                 location.reload();
 98                             } else {
 99                                 alert('问卷添加失败');
100                             }
101                         }
102                     }).fail(function () {
103                         alert('问卷添加失败');
104                     });
105                     
106                     
107                 });
108             </script>
View Code
 其中第76行代码var json=JSON.stringify(obj);是将js对象转换为JSON对象。

java部分代码

 1     /**
 2      * 手动添加问卷
 3      * 
 4      * @param req
 5      * @param title
 6      * @param ownerId
 7      * @param ownerRealm
 8      * @param type
 9      * @param questions
10      * @param timeOut
11      * @return 
12      */
13     @POST
14     @Path("/add2")
15     @Consumes(MediaType.MULTIPART_FORM_DATA)
16     public Response addSurvey2(@Context HttpServletRequest req,
17                               @FormDataParam("title") String title,
18                               @FormDataParam("ownerId") String ownerId,
19                               @FormDataParam("realm") @DefaultValue("LOAN_PRODUCT") Realm ownerRealm,
20                               @FormDataParam("type") @DefaultValue("SIMPLE_RISK") SurveyType type,
21                               @FormDataParam("questions") String questions,
22                               @FormDataParam("timeOut") int timeOut) {
23         Gson gson = new Gson();
24         Survey survey = gson.fromJson(questions,Survey.class);
25         
26         RealmEntity owner = StringUtils.isBlank(ownerId)
27                             ? RealmEntity.of(Realm.CLIENT, appBean.getClientCode())
28                             : RealmEntity.of(ownerRealm, ownerId);
29         RealmEntity creator = RealmEntity.of(Realm.EMPLOYEE, ContextUtils.getCurrentEmployee(req).getEmployeeId());
30 
31         survey.setTitle(title);
32         survey.setOwner(owner);
33         survey.setType(type);
34         survey.setStatus(SurveyStatus.CREATED);
35         survey.setCreator(creator);
36         survey.setTimeCreated(new Date());
37         survey.setTimeout(timeOut);
38         surveyManagementService.createSurvey(appBean.getClientCode(), survey);
39         return redirect("/cms/survey");
40     }
View Code
其中Gson gson = new Gson();Survey survey = gson.fromJson(questions,Survey.class);是将字符串questions转换为survey对象的quesionts字段。
Survey类中的问题属性定义为private List<Question> questions = new ArrayList<>();

转载于:https://www.cnblogs.com/sunflower627/p/4566644.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/374960.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Apache Lucene拼写检查器的“您是不是要”功能

Google的“您是不是要”功能 在上一篇文章中对Lucene进行了介绍之后 &#xff0c;现在是时候提高它&#xff0c;创建一个更复杂的应用程序了。 您肯定最熟悉Google的“您是不是要”功能&#xff08;其他搜索引擎也支持此功能&#xff09;。 这是一个例子&#xff1a; Lucene …

Android-做个性化的进度条

1.案例效果图 2.准备素材 progress1.png(78*78) progress2.png(78*78) 3.原理 采用一张图片作为ProgressBar的背景图片(一般采用颜色比较浅的)。另一张是进度条的图片(一般采用颜色比较深的图片)。进度在滚动时&#xff1a;进度图片逐步显示&#xff0c;背景图片逐…

(笔试题)二进制1的个数相同的距离最小数

题目&#xff1a; 输入&#xff1a;整数A输出&#xff1a;整数B条件&#xff1a;A和B的二进制1的个数相同&#xff0c;且A和B之间的距离|A-B|最小。思路&#xff1a; 题目没有说明整数类型&#xff0c;这里认为是带符号的整数&#xff0c;即区分正负数。 根据题意&#xff0c;A…

hadoop5--mapreduce设计模式

运行结果附图 本节课程主要内容为学习MapReduc设计模式&#xff0c;并编写java程序对日志文件进行处理。 课本上介绍的MapReduce的设计模式主要包含:计数(Counting),分类(Classification),过滤处理(Filtering),排序(Sorting),去重计数(Distinct Counting),相关计数(Cross-Corre…

jqGrid,REST,AJAX和Spring MVC集成

两年多以前&#xff0c;我写了一篇关于两个如何在Struts2中实现优雅的CRUD的文章。 实际上&#xff0c;我必须就该主题写两篇文章&#xff0c;因为该主题如此广泛。 今天&#xff0c;我采用了一套更为流行的&#xff0c;完善的框架和库&#xff0c;采用了更为轻量级的现代方法。…

Java-马士兵设计模式学习笔记-代理模式--动态代理 修改成可以代理任意接口

一、概述 1.目标&#xff1a;把Proxy修改成可以代理任意接口及其任意方法 2.思路&#xff1a; (1)代理任意接口&#xff1a;把接口类型作为参数传给Proxy的newProxyInstance(Class interfze) (2)代理任意方法&#xff1a;用interfze.getMethods()取出所有方法&#xff0c;拼接实…

C语言5-7习题

本题要求实现一个函数&#xff0c;用下列公式求cos(x)的近似值&#xff0c;精确到最后一项的绝对值小于e&#xff1a; #include <stdio.h> #include <math.h>double funcos( double e, double x );int main() { double e, x;scanf("%lf %lf", &…

BC div2补题以及 复习模除 逆元__BestCoder Round #78 (div.2)

第一题没话说 智商欠费 加老柴辅导终于过了 需要在意的是数据范围为2的63次方-1 三个数相加肯定爆了 四边形的定义  任意边小于其余三边之和 换句话说就是  最长边小于其余三边之和 这样的话问题转化为 最长边依次减其余三边的结果是否小于等于0 还有一点是题目出现0边 即最…

习题6-1 分类统计字符个数 (15 分)

本题要求实现一个函数&#xff0c;统计给定字符串中英文字母、空格或回车、数字字符和其他字符的个数。 函数接口定义&#xff1a; void StringCount( char s[] );其中 char s[] 是用户传入的字符串。函数StringCount须在一行内按照 letter 英文字母个数, blank 空格或回车…

Servlet 3.0异步处理可将服务器吞吐量提高十倍

Servlet是Java中处理服务器端逻辑的主要组件&#xff0c;新的3.0规范引入了一些非常有趣的功能&#xff0c;其中异步处理是最重要的功能之一。 可以利用异步处理来开发高度可伸缩的Web应用程序。 使用此功能可以有效地构建Web 2.0站点和AJAX应用程序。 我们的JCG合作伙伴之一To…

使用secureCRT连接VMware-Ubuntukylin虚拟机

使用SecureCRT连接VMware时总是提醒主机拒绝连接。这时可以使用sudo apt-get install openssh-server openssh-client&#xff0c;在主机上安装ssh. 安装成功后&#xff0c;可以连接到主机了。 如果显示远程主机拒绝连接。则可以使用如下方法。 VMware里面装的是Ubuntukylin版本…

国内有哪些好的刷题网站?

http://www.zhihu.com/question/25574458 Luau Lawrence&#xff0c;Data Mining 弱鸡 / PhDNTU 温梦强、石一帆、知乎用户 等人赞同 - Welcome To PKU JudgeOnline 北京大学的Online Judge。POJ上面的题目有点老了&#xff0c;但好处是做的人多&#xff0c;经典算法题多&…

Js 流程控制

流程控制 顺序、分支、循环 顺序结构 代码一行一行从上往下执行并解析 分支结构 if语句 switch语句 if语句 单分支 if(条件表达式){ //语句块 } 含义&#xff1a;当条件表达式为真的时候就执行里面的语句块 示例&#xff1a; 双分支&#xff1a; if(条件表达式){ //语句块1 }el…

SmartGWT入门,提供出色的GWT界面

SmartGWT简介 我最近开始使用SmartGWT &#xff0c;它是一个基于GWT的框架&#xff0c;该框架为您的应用程序UI提供了一个全面的小部件库&#xff0c;并为服务器端的数据管理提供了帮助。 您可以在SmartGWT展示柜上查看其漂亮的功能。 我准备了一个简短的“入门”指南&#xf…

Android OpenGL ES(四)----调整屏幕的宽高比

1.宽高比问题 我们现在相当熟悉这样一个事实&#xff0c;在OpenGL里&#xff0c;我们要渲染的一切物体都要映射到X轴和Y轴上[-1&#xff0c;1]的范围内&#xff0c;对于Z轴也一样。这个范围内的坐标被称为归一化设备坐标&#xff0c;其独立于屏幕实际尺寸或形状。 不幸的是&…

使用Spring Security保护GWT应用程序

在本教程中&#xff0c;我们将看到如何将GWT与Spring的安全模块&#xff08;即Spring Security&#xff09;集成在一起。 我们将看到如何保护GWT入口点&#xff0c;如何检索用户的凭据以及如何记录各种身份验证事件。 此外&#xff0c;我们将实现自定义身份验证提供程序&#x…

Tomcat 7上具有RESTeasy JAX-RS的RESTful Web服务-Eclipse和Maven项目

开发Web服务的RESTful方法不断受到越来越多的关注&#xff0c;并且似乎正在将SOAP淘汰。 我不会讨论哪种方法更好&#xff0c;但是我相信我们都同意REST更轻量级。 在本教程中&#xff0c;我将向您展示如何使用RESTeasy开发RESTful服务以及如何将它们部署在Tomcat服务器上。 在…

数据值、列类型和数据字段属性

数据值&#xff1a;数值型、字符型、日期型和空值等。数据列类型 2.1 数值类的数据列类型2.2 字符串类数据列类型 2.3 日期和时间型数据数据列类型 另外&#xff0c;也可以使用整形列类型存储UNIX时间戳&#xff0c;代替日期和时间列类型&#xff0c;这是基于PHP的web项目中常…

全文搜索Apache Lucene简介

在本教程中&#xff0c;我想谈谈Apache Lucene 。 Lucene是一个开源项目&#xff0c;提供基于Java的索引和搜索技术。 使用其API&#xff0c;很容易实现全文搜索 。 我将处理Lucene Java版本 &#xff0c;但请记住&#xff0c;还有一个名为Lucene.NET的.NET端口&#xff0c;以及…

Java中的低GC:使用原语而不是包装器

总览 有两个很好的理由在可能的地方使用原语而不是包装器。 明晰。 通过使用原语&#xff0c;您可以清楚地知道null值是不合适的。 性能。 使用原语通常更快。 清晰度通常比性能更重要&#xff0c;并且是使用它们的最佳理由。 但是&#xff0c;本文讨论了使用包装程序对性能…