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"% ...
随机推荐
- <转>如何测试大型ERP软件?
大型ERP软件是一个在企业范围内部应用的.高度集成的软件,且操作频繁,数据在各业务系统之间高度共享.那么针对大型ERP软件的特点,我们应该怎么测试呢?要使用怎样的测试方法?需要什么样的测试人员?... ...
- Linux基本命令(1)管理文件和目录的命令
Linux管理文件和目录的命令 命令 功能 命令 功能 pwd 显示当前目录 ls 查看目录下的内容 cd 改变所在目录 cat 显示文件的内容 grep 在文件中查找某字符 cp 复制文件 touc ...
- 扩展Fitnesse的ScriptTable:支持if-then
Fitnesse的ScriptTable只能顺序执行所有行,本博文介绍如何让ScriptTable支持if-then,来条件执行一行. 首先普及一下概念,什么是Fitnesse,听一听.NET版Cuc ...
- sgu 194 Reactor Cooling(有容量上下界的无源无汇可行流)
[题目链接] http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=20757 [题意] 求有容量上下界的无源无汇可行流. [思路] ...
- 修改 myeclipse8.5 servlet 模板
在myeclipse8.5的安装目录下找到 \Common\plugins下的com.genuitec.eclipse.wizards_8.5.0.zmyeclipse75020090612.jar ...
- C# 与 VC Dll 传输信息
考虑: 使用string类型传送: 在VC Dll中解析字符: 使用 string 类型将解析的类型传送到C#程序中: 建立VC解析的函数,提高代码可重用性
- Orchard源码分析(1):插件式的支持——模块和主题
在Orchard,模块和主题都是可以插拔式的,在源码处理时,用类型(参考:DefaultExtensionTypes)区分,都没太大的本质区别,以下都称做模块. 插件的支持,实现分以下几步: 搜集模块 ...
- HDU 5620 KK's Steel (斐波那契序列)
KK's Steel 题目链接: http://acm.hust.edu.cn/vjudge/contest/121332#problem/J Description Our lovely KK ha ...
- Java虚拟机学习 - 体系结构 内存模型
一:Java技术体系模块图 二:JVM内存区域模型 1.方法区 也称"永久代” .“非堆”, 它用于存储虚拟机加载的类信息.常量.静态变量.是各个线程共享的内存区域.默认最小值为16MB,最 ...
- HDU 3665 Seaside (最短路,Floyd)
题意:给定一个图,你家在0,让你找出到沿海的最短路径. 析:由于这个题最多才10个点,那么就可以用Floyd算法,然后再搜一下哪一个是最短的. 代码如下: #pragma comment(linker ...