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"% ...
随机推荐
- codeforces 696A Lorenzo Von Matterhorn 水题
这题一眼看就是水题,map随便计 然后我之所以发这个题解,是因为我用了log2()这个函数判断在哪一层 我只能说我真是太傻逼了,这个函数以前听人说有精度问题,还慢,为了图快用的,没想到被坑惨了,以后尽 ...
- IOS 通知 alarm 记录
所有的内容融为一体,去除某一个项不知道结果如何. 最主要的前提:APP 会长期保留在后台 1.在info.plist 文件里面,加入 audio 后台请求 2.当APP 点击home进入后台之后,请求 ...
- Qt加载网页(加载浏览器插件)和制作托盘后台运行(南信大财务报账看号)
程序模块要添加QNetWork和QWebKit模块: nuistfinancevideo.h文件: #ifndef NUISTFINANCEVIDEO_H #define NUISTFINANCEVI ...
- 数据库表中MAX ID获取,确保每次调用没有重复工具类(NumberUtil)
下面这个类是获取数据库中一个字段的最大值.配置在数据库中. public class NoFactory { private final static Logger cLogger = Logger. ...
- Text Kit入门
更详细的内容可以参考官方文档 <Text Programming Guide for iOS>. “Text Kit指的是UIKit框架中用于提供高质量排版服务的一些类和协议,它让程序能够 ...
- 通过反汇编C语言小程序学习Liunx汇编语言
大家好! 我是来自山东师范大学的吴乐. 今天在<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ...
- Spark系列(九)DAGScheduler工作原理
以wordcount为示例进行深入分析 1 33 ) { 46 logInfo("Submitting " + tasks.size + " missi ...
- 【移动开发】安卓Lab2(01)
本次Lab需要用到Google Map的API,分享学习一下Google Map的知识 需求: 界面: 1. 主界面(map界面): 提供了指定的学校校园地图图片,不能用Google的API生成图片 ...
- android - python 自动化测试 移动互联网 - SegmentFault
android - python 自动化测试 移动互联网 - SegmentFault splinter
- 【转】使用JavaScriptCore在JS和OC间通信
http://www.cocoachina.com/ios/20160623/16796.html iOS 开发中,我们时不时的需要加载一些 Web 页面,一些需求使用 Web 页面来实现可以更可控, ...