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>

 其中第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     }

其中Gson gson = new Gson();Survey survey = gson.fromJson(questions,Survey.class);是将字符串questions转换为survey对象的quesionts字段。
Survey类中的问题属性定义为private List<Question> questions = new ArrayList<>();
时间: 2024-08-24 15:34:25

JS 操作 radio input(cc问卷管理)的相关文章

JS操作Radio与Select

//radio的chang事件,以及获取选中的radio的值 $("input[name=radioName]").on("change", function() { var val= this.value; }); //初始化下拉框组件 function initSelect(id, data) { var arr = []; for (var i = 0, len = data.length; i < len; i++) { var item = data

纯js模拟 radio和checkbox控件

代码待优化,功能实现了,不兼容ie8以上, 相同name的radio可以实现切换的操作, 分享代码,共同学习进步 <!doctype html> <html> <head> <meta charset="utf-8"> <title></title> <style> .radiobox, .checkbox { width: 10px; height: 10px; padding: 2px; borde

jQuery操作radio、checkbox、select总结

本文转自:http://tiame.iteye.com/blog/1493261 1.radio:单选框 HTML代码: Html代码   <input type="radio" name="radio" id="radio1" value="1" />1 <input type="radio" name="radio" id="radio2" va

jQuery操作radio、checkbox、select 集合

1.radio:单选框 HTML代码: <input type="radio" name="radio" id="radio1" value="1" />1 <input type="radio" name="radio" id="radio2" value="2" />2 <input type="radi

jQuery操作radio、checkbox、select示例

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title> jQuery操作radio.checkbox.select示例 </title> <meta name="Generator" con

jqurey操作radio总结

在我们前端的项目中,会经常用到radio单选按钮,下面给出个例子总结jquery对的各种操作: 示例如下: <html> <head> <meta charset="UTF-8"> <title>radio </title> <script type="text/javascript" src="jquery-1.10.2.js"></script>      &

js 操作select和option

js 操作select和option 1.动态创建select function createSelect(){ var mySelect = document.createElement_x("select");          mySelect.id = "mySelect";           document.body.appendChild(mySelect);      } 2.添加选项option function addOption(){ //根

js控制radio选中

经常会遇到js控制radio选中和切换的问题 之前一直使用的是checked属性来完成的 但是现在发现这个属性有个大问题 今天就是用js给选中radio的赋值,使用的$().attr("checked",true); 当切换的时候,把name相同的radio的attr("checked",false),再把要选中的radio.attr("checked",true): 但是问题来了,每个radio只能被赋值一次,当第二次给他赋值的时候,赋不上值

实现table中checkbox复选框、以及判断checked是否被选中、js操作checkedbox选中

上图是实现效果. 下面贴代码 表的第一行也就是<th>中的代码,onclick事件是实现全选或者全不选效果. <th> <input id="allboxs" onclick="allcheck()" type="checkbox"/> </th> td中的代码 <td> <input name="boxs" type="checkbox"/