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部分代码
$('.handleSaveBtn').click(function(){
//判空,标题、有效期、题干、选项、分值
if ($("#title1").val() === '') {
alert("问卷标题不可为空");
return;
}
if ($("#timeOut1").val() === '') {
alert("问卷有效期不可为空");
return;
}
var flag=0;
$("input[name^='q']").each(function(){
if($(this).val()===""){
alert("题干、选项、分值等不可为空!");
flag=1;
return false;
}
});
if(flag===1){
return;
}
//组成问卷questions部分
var obj=new Object();
var questions=new Array();
var totalScore=0,score1,score2,score3,score4;
for(var i=0;i<10;i++){
var j=i+1;
var question=new Object();
var type=$("#type"+j).val();
question.type=type;
question.ordinal=j;
question.content=$("input[name='q"+j+"']").val();
if(type==='SINGLE'){
var choice1={"value":"A","content":$('input[name="q'+j+'c1"]').val(),"score":$('input[name="q'+j+'cm1"]').val()};
var choice2={"value":"B","content":$('input[name="q'+j+'c2"]').val(),"score":$('input[name="q'+j+'cm2"]').val()};
var choice3={"value":"C","content":$('input[name="q'+j+'c3"]').val(),"score":$('input[name="q'+j+'cm3"]').val()};
var choice4={"value":"D","content":$('input[name="q'+j+'c4"]').val(),"score":$('input[name="q'+j+'cm4"]').val()};
question.choices=[choice1,choice2,choice3,choice4];
score1=$('input[name="q'+j+'cm1"]').val();
score2=$('input[name="q'+j+'cm2"]').val();
score3=$('input[name="q'+j+'cm3"]').val();
score4=$('input[name="q'+j+'cm4"]').val();
if(score1<score2){
score1=score2;
}
if(score3<score4){
score1=score2;
}
if(score1<score3){
score1=score3;
}
}else if(type==='MULTIPLE'){
var choice1={"value":"A","content":"是","score":$('input[name="q'+j+'cm1"]').val()};
var choice2={"value":"B","content":"否","score":$('input[name="q'+j+'cm2"]').val()};
question.choices=[choice1,choice2];
score1=$('input[name="q'+j+'cm1"]').val();
score2=$('input[name="q'+j+'cm2"]').val();
if(score1<score2){
score1=score2;
}
}else{
var choice1={"value":"A","content":$('input[name="q'+j+'c1"]').val(),"score":$('input[name="q'+j+'cm1"]').val()};
question.choices=[choice1];
score1=$('input[name="q'+j+'cm1"]').val();
}
totalScore+score1;
questions.push(question);
}
if(totalScore>100){
alert("总分不能超过100!");
return;
}
obj.questions=questions;
var json=JSON.stringify(obj);
var formData = new FormData();
formData.append("title",$("#title1").val());
formData.append("status",$("#status1").val());
formData.append("timeOut",$("#timeOut1").val());
formData.append("questions",json);
alert(json);
//提交
var url = 'cms/survey/add2';
$.ajax({
url: url,
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function (job) {
console.log(job);
if (job) {
alert("问卷添加成功!");
location.reload();
} else {
alert('问卷添加失败');
}
}
}).fail(function () {
alert('问卷添加失败');
});
});
</script>
其中第76行代码var json=JSON.stringify(obj);是将js对象转换为JSON对象。
java部分代码
/**
* 手动添加问卷
*
* @param req
* @param title
* @param ownerId
* @param ownerRealm
* @param type
* @param questions
* @param timeOut
* @return
*/
@POST
@Path("/add2")
@Consumes(MediaType.MULTIPART_FORM_DATA)
public Response addSurvey2(@Context HttpServletRequest req,
@FormDataParam("title") String title,
@FormDataParam("ownerId") String ownerId,
@FormDataParam("realm") @DefaultValue("LOAN_PRODUCT") Realm ownerRealm,
@FormDataParam("type") @DefaultValue("SIMPLE_RISK") SurveyType type,
@FormDataParam("questions") String questions,
@FormDataParam("timeOut") int timeOut) {
Gson gson = new Gson();
Survey survey = gson.fromJson(questions,Survey.class); RealmEntity owner = StringUtils.isBlank(ownerId)
? RealmEntity.of(Realm.CLIENT, appBean.getClientCode())
: RealmEntity.of(ownerRealm, ownerId);
RealmEntity creator = RealmEntity.of(Realm.EMPLOYEE, ContextUtils.getCurrentEmployee(req).getEmployeeId()); survey.setTitle(title);
survey.setOwner(owner);
survey.setType(type);
survey.setStatus(SurveyStatus.CREATED);
survey.setCreator(creator);
survey.setTimeCreated(new Date());
survey.setTimeout(timeOut);
surveyManagementService.createSurvey(appBean.getClientCode(), survey);
return redirect("/cms/survey");
}
其中Gson gson = new Gson();Survey survey = gson.fromJson(questions,Survey.class);是将字符串questions转换为survey对象的quesionts字段。
Survey类中的问题属性定义为private List<Question> questions = new ArrayList<>();
JS 操作 radio input(cc问卷管理)的更多相关文章
- JS 操作 checkbox(cc角色管理等)
1.获取选中的权限的个数 var size=$("input[name='privileges']:checked").size();
- JS操作Radio与Select
//radio的chang事件,以及获取选中的radio的值 $("input[name=radioName]").on("change", function( ...
- JS中Float类型加减乘除 修复 JQ 操作 radio、checkbox 、select LINQ to SQL:Where、Select/Distinct LINQ to SQL Count/Sum/Min/Max/Avg Join
JS中Float类型加减乘除 修复 MXS&Vincene ─╄OvЁ &0000027─╄OvЁ MXS&Vincene MXS&Vincene ─╄Ov ...
- [转]jQuery操作radio、checkbox、select 集合.
1.radio:单选框 html代码 <input type="radio" name="radio" id="radio1" val ...
- 第十四课:js操作节点的插入,复制,移除
节点插入 appendChild方法,insertBefore方法是常用的两个节点插入方法,具体实现,请看js高级程序设计,或者自行百度. 这里提一下面试时经常会问到的问题,插入多个节点时,你是怎么插 ...
- js jquery radio 选中 选中值
radio示例: <label><input type="radio" name="type" id="type" val ...
- jQuery操作radio、checkbox、select 集合
1.radio:单选框 HTML代码: <input type="radio" name="radio" id="radio1" va ...
- jQuery操作radio、checkbox、select总结
1.radio:单选框 HTML代码: <input type="radio" name="radio" id="radio1" va ...
- js操作textarea方法集合
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...
随机推荐
- HDU-4632 http://acm.hdu.edu.cn/showproblem.php?pid=4632
http://acm.hdu.edu.cn/showproblem.php?pid=4632 题意: 一个字符串,有多少个subsequence是回文串. 别人的题解: 用dp[i][j]表示这一段里 ...
- 常见设计模式的解析和实现(C++)之九—Decorator模式
作用:动态地给一个对象添加一些额外的职责.就增加功能来说,Decorator模式相比生成子类更为灵活. UML结构图: 抽象基类: 1) Component :定义一个对象接口,可以为这个接口动态地 ...
- Hadoop 学习之 FAQ
在Hadoop的学习与使用过程中同样如此.这里为大家分享Hadoop集群设置中经常出现的一些问题,以下为译文: 1.Hadoop集群可以运行的3个模式? 单机(本地)模式 伪分布式模式 全分布式模式 ...
- PHP+Apache+MySQL+phpMyAdmin在win7系统下的环境配置
配置方法在网上可以搜到很多,一步步来就好了,但是由于步骤比较多,需要耐心仔细一点点,这是我自己记录的成功步骤: 1.PHP+Apache+MySQL的安装:PHP网站开发 2.phpMyAdmin的配 ...
- Hadoop-Map/Reduce实现实现倒排索引
先来简单介绍一下什么是文档倒排索引 倒排索引是文档检索系统中最常见的数据结构,被广泛应用在全文搜索引擎上.主要用来存储某个单词(或词组)在一个文档或者一组文档中的存储位置的映射,即提供了一种根据内容来 ...
- HDU-4742 Pinball Game 3D 三维LIS
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4742 题意:求3维的LIS.. 用分治算法搞得,参考了cxlove的题解.. 首先按照x排序,然后每个 ...
- Another mysql daemon already running with the same unix socket
在国外网站发现的解决方法. 原因多个Mysql进程使用了同一个socket. 两个方法解决: 第一个是立即关机 使用命令 shutdown -h now 关机,关机后在启动,进程就停止了. 第二个直接 ...
- C# 6.0 的新特性
1. 自动的属性初始化器Auto Property initialzier 之前的方式: public class AutoPropertyBeforeCsharp6 { private string ...
- hdu 1151 Air Raid(二分图最小路径覆盖)
http://acm.hdu.edu.cn/showproblem.php?pid=1151 Air Raid Time Limit: 1000MS Memory Limit: 10000K To ...
- [iOS基础控件 - 6.9.1] 聊天界面Demo 代码
框架: 所有代码文件: Model: // // Message.h // QQChatDemo // // Created by hellovoidworld on 14/12/8. // ...