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问卷管理)的更多相关文章

  1. JS 操作 checkbox(cc角色管理等)

    1.获取选中的权限的个数 var size=$("input[name='privileges']:checked").size();

  2. JS操作Radio与Select

    //radio的chang事件,以及获取选中的radio的值 $("input[name=radioName]").on("change", function( ...

  3. 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 ...

  4. [转]jQuery操作radio、checkbox、select 集合.

    1.radio:单选框 html代码 <input type="radio" name="radio" id="radio1" val ...

  5. 第十四课:js操作节点的插入,复制,移除

    节点插入 appendChild方法,insertBefore方法是常用的两个节点插入方法,具体实现,请看js高级程序设计,或者自行百度. 这里提一下面试时经常会问到的问题,插入多个节点时,你是怎么插 ...

  6. js jquery radio 选中 选中值

    radio示例: <label><input type="radio" name="type" id="type" val ...

  7. jQuery操作radio、checkbox、select 集合

    1.radio:单选框 HTML代码: <input type="radio" name="radio" id="radio1" va ...

  8. jQuery操作radio、checkbox、select总结

    1.radio:单选框 HTML代码: <input type="radio" name="radio" id="radio1" va ...

  9. js操作textarea方法集合

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"% ...

随机推荐

  1. Win7远程登录Ubuntu14.04

    Quote: http://www.xp74.com/article/news/6083.htm Method: One:vnc连接,实现图形化登录 优点:图形化操作,较第二种方法快 缺点:效率不是最 ...

  2. Libsvm的MATLAB调用和交叉验证

    今天听了一个师兄的讲课,才发现我一直在科研上特别差劲,主要表现在以下几个方面,(现在提出也为了督促自己在以后的学习工作道路上能够避免这些问题) 1.做事情总是有头无尾,致使知识点不能一次搞透,每次在用 ...

  3. [转]关于GCD与多线程

    GCD是什么,你知道吗?你知道了GCD,你确定你会使用吗? 这一篇文章是站在初学者角度去分析GCD,原因是这个很多iOS开发者根本就没用过,即使用过,不知道其中的原理.讲解之前认识一下什么是线程,为什 ...

  4. leetcode@ [310] Minimum Height Trees

    For a undirected graph with tree characteristics, we can choose any node as the root. The result gra ...

  5. 为Elasticsearch添加中文分词

    Elasticsearch的中文分词很烂,所以我们需要安装ik.首先从github上下载项目,解压: cd /tmp wget https://github.com/medcl/elasticsear ...

  6. 15个顶级Java多线程面试题及答案

    1)现在有T1.T2.T3三个线程,你怎样保证T2在T1执行完后执行,T3在T2执行完后执行? 这个线程问题通常会在第一轮或电话面试阶段被问到,目的是检测你对”join”方法是否熟悉.这个多线程问题比 ...

  7. [COCOS2D-X]AssetsManager

    转自:http://blog.csdn.net/xpwang168/article/details/8900764 资源更新方式分析 I zip整包更新 优点:省流量,速度快 缺点:有重复资源,需要打 ...

  8. JAVA中“==”与equals()方法区别

    equals 方法是 java.lang.Object 类的方法 有两种用法说明: ()对于字符串变量来说,使用"=="和"equals()"方法比较字符串时, ...

  9. 使用Cygwin通过ssh命令行来访问Windows8

    安装Cygwin可以参考<如何在Windows中通过Cygwin来使用Linux命令>. 在Win8下貌似有个bug,需要将cygwin\bin\mintty 修改为cygwin\bin\ ...

  10. Linux查看物理内存信息

    Linux查看物理内存信息 1. 查看内存大小 dmidecode|grep Size 输出 Runtime Size: 64 kB ROM Size: 4608 kB Installed Size: ...