Ver código fonte

实现下拉类型题目逻辑跳转

wkeyuan 3 anos atrás
pai
commit
5d2d04b6b4
2 arquivos alterados com 29 adições e 6 exclusões
  1. 15 3
      static/diaowen/js/dw/an/ans-m.js
  2. 14 3
      static/diaowen/js/dw/an/ans-p.js

+ 15 - 3
static/diaowen/js/dw/an/ans-m.js

@@ -456,6 +456,7 @@ function sww(){
       }
       var thObj = $(this);
       var quItemBody = $(this).parents(".li_surveyQuItemBody");
+      runlogic(thObj);
       answerProgressbar(thObj);
       validateCheck(quItemBody,false);
       return false;
@@ -556,6 +557,12 @@ function sww(){
         if(quType==="RADIO" || quType==="CHECKBOX"){
           var quLgoicItem=null;
           var quOptionItems=quItemBody.find(".dwQuOptionItemContent");
+          if(quType==="RADIO"){
+            if(quItemBody.find("select")[0]){
+              quOptionItems=quItemBody.find("select option");
+            }
+          }
+
           $.each(quLogicItems,function(){
             var loginItem=$(this);
             var cgQuItemId=loginItem.find(".cgQuItemId").val();
@@ -572,9 +579,14 @@ function sww(){
               var logicStatus=false;
               var curQuItemId=null;
               if(quType==="RADIO"){
-                quInput=quCoItem.find("input[type='radio']");
-                logicStatus=quInput.prop("checked");
-                curQuItemId=quInput.val();
+                if(quItemBody.find("select")[0]){
+                  curQuItemId=$(this).val();
+                  logicStatus=quItemBody.find("select").val()==curQuItemId;
+                }else{
+                  quInput=quCoItem.find("input[type='radio']");
+                  logicStatus=quInput.prop("checked");
+                  curQuItemId=quInput.val();
+                }
               }else if(quType==="CHECKBOX"){
                 quInput=quCoItem.find("input[type='checkbox']");
                 logicStatus=quInput.prop("checked");

+ 14 - 3
static/diaowen/js/dw/an/ans-p.js

@@ -533,6 +533,7 @@ function sww() {
     }
     var thObj = $(this);
     var quItemBody = $(this).parents(".li_surveyQuItemBody");
+    runlogic(thObj);
     answerProgressbar(thObj);
     validateCheck(quItemBody,false);
     return false;
@@ -563,6 +564,11 @@ function sww() {
 
         var quOptionItems=null;
         quOptionItems=quItemBody.find(".dwQuOptionItemContent");
+        if(quType==="RADIO"){
+          if(quItemBody.find("select")[0]){
+            quOptionItems=quItemBody.find("select option");
+          }
+        }
 
         $.each(quLogicItems,function(){
           var loginItem=$(this);
@@ -578,9 +584,14 @@ function sww() {
             var logicStatus=false;
             var curQuItemId=null;
             if(quType==="RADIO"){
-              quInput=quCoItem.find("input[type='radio']");
-              logicStatus=quInput.prop("checked");
-              curQuItemId=quInput.val();
+              if(quItemBody.find("select")[0]){
+                curQuItemId=$(this).val();
+                logicStatus=quItemBody.find("select").val()==curQuItemId;
+              }else{
+                quInput=quCoItem.find("input[type='radio']");
+                logicStatus=quInput.prop("checked");
+                curQuItemId=quInput.val();
+              }
             }else if(quType==="CHECKBOX"){
               quInput=quCoItem.find("input[type='checkbox']");
               logicStatus=quInput.prop("checked");