ans-p.js 40 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129
  1. /**
  2. *
  3. * DWSurvey 3.0 中关于问卷设计Javascript
  4. *
  5. * @desc: design survey
  6. * @author: keyuan(@keyuan, keyuan258@gmail.com)
  7. * @github: https://github.com/wkeyuan/DWSurvey
  8. *
  9. * Copyright 2012, 2017 调问问卷(DWSurvey,http://dwsurvey.net)
  10. *
  11. */
  12. $(document).ready(function(){
  13. var ctx=$("#ctx").val();
  14. var sid = $.getUrlParam("sid");
  15. var surveyId = $.getUrlParam("surveyId");
  16. var tag = $.getUrlParam("tag");
  17. var ruleCode = $.getUrlParam("ruleCode");
  18. $("#sid").val(sid);
  19. $("#id").val(surveyId);
  20. $("#tag").val(tag);
  21. $("#ruleCode").val(ruleCode);
  22. if(tag!="" && (tag==="p" || tag==="s")){
  23. $("#preview_head_top").show();
  24. }else{
  25. $("#preview_head_top").remove();
  26. }
  27. $.answerPage("p",sid,function(){
  28. querySurveyAll(function(){
  29. sww();
  30. if(!$("#preview_head_top")[0]){
  31. checkAnswerSurvey(sid);
  32. }
  33. });
  34. });
  35. });
  36. function sww() {
  37. //分页设置 nextPage_a prevPage_a
  38. $(".nextPage_a").click(function(){
  39. if(validateForms()){
  40. var thParent=$(this).parent();
  41. var nextPageNo=thParent.find("input[name='nextPageNo']").val();
  42. // $(".li_surveyQuItemBody").hide();
  43. // $(".surveyQu_"+nextPageNo).fadeIn("slow");
  44. //$(window).scrollTop(10);
  45. var curPageNo = parseInt(nextPageNo)-1;
  46. $(".surveyQu_"+curPageNo).hide();
  47. var nextPageQus = $(".surveyQu_"+nextPageNo);
  48. $.each(nextPageQus,function(){
  49. var quItemBody = $(this);
  50. var itemBodyClass = quItemBody.attr("class");
  51. var quType = quItemBody.find(".quType").val();
  52. if(quType==="PAGETAG" || quType==="submitSurveyBtn"){
  53. quItemBody.show();
  54. }
  55. if(itemBodyClass.indexOf("hidFor")<0){
  56. quItemBody.show();
  57. }
  58. });
  59. var nextPageItems = $(".surveyQu_"+nextPageNo+":visible");
  60. if(nextPageItems[0]&&nextPageItems.size()<=1){
  61. $(nextPageItems[0]).find(".nextPage_a").click();
  62. }
  63. $("html,body").animate({scrollTop:10},500);
  64. };
  65. return false;
  66. });
  67. $(".prevPage_a").click(function(){
  68. var thParent=$(this).parent();
  69. var prevPageNo=thParent.find("input[name='prevPageNo']").val();
  70. //$(".li_surveyQuItemBody").hide();
  71. //$(".surveyQu_"+prevPageNo).fadeIn("slow");
  72. var curPageNo = parseInt(prevPageNo)+1;
  73. $(".surveyQu_"+curPageNo).hide();
  74. var prevPageQus = $(".surveyQu_"+prevPageNo);
  75. $.each(prevPageQus,function(){
  76. var quItemBody = $(this);
  77. var itemBodyClass = quItemBody.attr("class");
  78. //alert(itemBodyClass.indexOf("hidFor"));
  79. var quType = quItemBody.find(".quType").val();
  80. if(quType==="PAGETAG"){
  81. quItemBody.show();
  82. }
  83. if(itemBodyClass.indexOf("hidFor")<0){
  84. quItemBody.show();
  85. }
  86. });
  87. $(window).scrollTop(10);
  88. return false;
  89. });
  90. //var prevHost="http://file.diaowen.net";
  91. var prevHost=$("#prevHost").val();
  92. $(".submitSurvey").click(function(){
  93. if(validateForms()){
  94. var thTxt = $(this).text();
  95. if($("#preview_head_top")[0]){
  96. alert("预览模式不可提交!");
  97. return false;
  98. }
  99. if(thTxt==="提 交"){
  100. $(".submitSurvey").css({"background-position": "0 -320px"});
  101. $(".submitSurvey").text("正在提交");
  102. setTimeout(function(){
  103. $(".submitSurvey").css({"background-position": "0 -200px"});
  104. $(".submitSurvey").text("提 交");
  105. },5000);
  106. $("#surveyForm").submit();
  107. }else{
  108. alert("5秒内禁止重复提交!");
  109. }
  110. }
  111. return false;
  112. });
  113. //评分题
  114. $(".scoreNumTable tr td").click(function(){
  115. //scoreNumInput
  116. var quScoreOptionTr=$(this).parents(".quScoreOptionTr");
  117. var tdText=$(this).text();
  118. quScoreOptionTr.find(".scoreNumTable tr td").css({"background":"white"});
  119. quScoreOptionTr.find(".scoreNumText").html($(this).text()+"&nbsp;分");
  120. $(this).prevAll().css({"background":""});
  121. $(this).css({"background":""});
  122. quScoreOptionTr.find(".scoreNumInput").val(tdText);
  123. quScoreOptionTr.find(".scoreNumText").html(tdText+"&nbsp;分");
  124. runlogic($(this));
  125. answerProgressbar($(this));
  126. validateCheck($(this).parents(".li_surveyQuItemBody"),false);
  127. });
  128. bindScoreNumTdHover();
  129. function bindScoreNumTdHover(){
  130. $(".scoreNumTable tr td").hover(function(){
  131. var quScoreOptionTr = $(this).parents(".quScoreOptionTr");
  132. var scoreNumInput=quScoreOptionTr.find(".scoreNumInput").val();
  133. if(scoreNumInput==""){
  134. $(this).prevAll().css({"background":""});
  135. $(this).css({"background":""});
  136. quScoreOptionTr.find(".scoreNumText").html($(this).text()+"&nbsp;分");
  137. }
  138. },function(){
  139. var quScoreOptionTr = $(this).parents(".quScoreOptionTr");
  140. var scoreNumInput=quScoreOptionTr.find(".scoreNumInput").val();
  141. if(scoreNumInput==""){
  142. $(this).prevAll().css({"background":"white"});
  143. $(this).css({"background":"white"});
  144. quScoreOptionTr.find(".scoreNumText").html("分");
  145. }
  146. });
  147. }
  148. //排序题
  149. //quOrderByCoItem
  150. bindQuOrderBySorts();
  151. function bindQuOrderBySorts() {
  152. var quOrderByCoItems=$(".quOrderByCoItem");
  153. $.each(quOrderByCoItems,function(){
  154. /* $(this).find( ".quOrderByLeftUl li" ).draggable({
  155. connectToSortable: $(this).find(".quOrderByTable td"),
  156. helper: "clone",
  157. zIndex:2000,
  158. //revert :true,
  159. start: function(event, ui) {
  160. var quOrderByCoItem=$(this).parents(".quOrderByCoItem");
  161. quOrderByCoItem.find( ".quOrderTabConnect" ).css({"background":"","border":"1px dotted red"});
  162. },
  163. drag: function(event, ui) {
  164. },
  165. stop: function(event,ui){
  166. var quOrderByCoItem=$(this).parents(".quOrderByCoItem");
  167. quOrderByCoItem.find( ".quOrderTabConnect" ).css({"background":"","border":"1px solid #dbdbdb"});
  168. }
  169. }); */
  170. $(this).find( ".quOrderByLeftUl li" ).sortable({
  171. zIndex:1000,
  172. scroll :false,
  173. opacity : 0.8,
  174. placeholderType:false,
  175. connectWith:$(this).find( ".quOrderByTable td" ),
  176. helper: function(event,ui){
  177. return "<label class='quOrderItemLabel'>"+$(this).text()+"</label>";
  178. },
  179. over:function(event,ui){
  180. },
  181. start: function(event, ui) {
  182. },
  183. drag: function(event, ui) {
  184. },
  185. stop: function(event,ui){
  186. $(".quOrderByTable td").css({"background":""});
  187. //ui.item.html("<label class='quOrderItemLabel'>"+ui.item.text()+"</label>");
  188. answerProgressbar($(this));
  189. validateCheck($(this).parents(".li_surveyQuItemBody"),false);
  190. }
  191. });
  192. var sortObjTempHtml=null;
  193. $(this).find( ".quOrderByTable td" ).sortable({
  194. //revert: true
  195. //dropOnEmpty:false,
  196. zIndex:1000,
  197. scroll :false,
  198. opacity : 0.9,
  199. placeholderType:true,
  200. placeholder:"qu-order-highlight",
  201. connectWith:$(this).find( ".quOrderByTable td" ),
  202. over:function(event,ui){
  203. $(".quOrderByTable td").css({"background":""});
  204. $(this).css({"background":"#FAEDC0"});
  205. var quOrderItemLabel=$(this).find("label.quOrderItemLabel");
  206. sortObjTempHtml="";
  207. if(quOrderItemLabel[0]){
  208. sortObjTempHtml=quOrderItemLabel.html();
  209. }
  210. /*sortObjTempHtml="";
  211. if(lastLabelHtml!=""){
  212. sortObjTempHtml="<label class='quOrderItemLabel'>"+$(this).find("label:last-child").html()+"</label>";
  213. } */
  214. //console.debug($(ui.helper).css("zIndex")+$(ui.helper).css("position"));
  215. },
  216. receive:function(event, ui){//当一个已连接的sortable对象接收到另一个sortable对象的元素后触发此事件。
  217. //判断如果是从右边新移入的,但当前td中已经有了,就交换到右边去
  218. var uiSenderClass=ui.sender.attr("class");
  219. ui.sender.empty();
  220. /* if(uiSenderClass.indexOf("quCoItemUlLi")<0){
  221. ui.sender.append(sortObjTempHtml);
  222. } */
  223. if(uiSenderClass.indexOf("quCoItemUlLi")<0){
  224. if(sortObjTempHtml!=""){
  225. ui.sender.append("<label class='quOrderItemLabel'>"+sortObjTempHtml+"</label>");
  226. }
  227. }else{
  228. if(sortObjTempHtml!=""){
  229. ui.sender.append("<label class='editAble quCoOptionEdit'>"+sortObjTempHtml+"</label>");
  230. }
  231. }
  232. $(this).empty();
  233. ui.item.clone().appendTo($(this));
  234. var quCoOptionEdit=$(this).find(".quCoOptionEdit");
  235. if(quCoOptionEdit[0]){
  236. quCoOptionEdit.removeClass();
  237. quCoOptionEdit.addClass("quOrderItemLabel");
  238. }
  239. $(".quOrderByTable td").css({"background":""});
  240. //更新排序ID quCoItem quOrderByTableTr
  241. //bindQuOrderBySorts();
  242. var quColItem = $(".li_surveyQuItemBody .quCoItem");
  243. $.each(quColItem,function(){
  244. var quOrderyByTrs=$(this).find(".quOrderByTableTr");
  245. $.each(quOrderyByTrs,function(i){
  246. var quOrderItemHidInput=$(this).find(".quOrderItemHidInput");
  247. quOrderItemHidInput.val(i+1);
  248. });
  249. });
  250. /*var quOrderyByTrs=$(".quCoItem .quOrderByTableTr");
  251. $.each(quOrderyByTrs,function(i){
  252. var quOrderItemHidInput=$(this).find(".quOrderItemHidInput");
  253. quOrderItemHidInput.val(i+1);
  254. });*/
  255. },
  256. start: function(event, ui) {
  257. $(".quOrderByTable td").css({"background":""});
  258. $(this).css({"background":"#FAEDC0"});
  259. },
  260. drag: function(event, ui) {
  261. $(".quOrderByTable td").css({"background":""});
  262. $(this).css({"background":"#FAEDC0"});
  263. },
  264. stop: function(event,ui){
  265. $(".quOrderByTable td").css({"background":""});
  266. },
  267. out: function(event,ui){
  268. //$(".quOrderByTable td").css({"background":""});
  269. },
  270. activate: function( event, ui ) {
  271. //$(".quOrderByTable td").css({"background":""});
  272. //$(this).css({"background":"#FAEDC0"});
  273. }
  274. });
  275. });
  276. }
  277. /**初始化表单骓证配置**/
  278. function validateForms(){
  279. var result=true;
  280. var surveyQuItemBodys=$(".li_surveyQuItemBody");
  281. var firstError=null;
  282. $.each(surveyQuItemBodys,function(){
  283. var quItemBody=$(this);
  284. if(!validateCheck(quItemBody,true)){
  285. //定位到这题
  286. if(firstError==null){
  287. firstError=quItemBody;
  288. }
  289. result=false;
  290. }
  291. });
  292. if(firstError!=null){
  293. $(window).scrollTop(firstError.offset().top);
  294. }
  295. //
  296. if($("#jcaptchaImgBody").is(":visible")){
  297. var jcaptchaInput = $("input[name='jcaptchaInput']").val();
  298. if(jcaptchaInput===""){
  299. $("#jcaptchaImgBody .errorItem").show();
  300. result = false;
  301. }else{
  302. $("#jcaptchaImgBody .errorItem").hide();
  303. }
  304. }
  305. return result;
  306. }
  307. function checkoutData(checkType, value) {
  308. var validateStatus = true;
  309. if(value.length<=0){
  310. validateStatus = false;
  311. }
  312. if (checkType == "NO") {
  313. if(value.length<=0){
  314. validateStatus = false;
  315. }
  316. }else if (checkType == "EMAIL") {
  317. var __email = /^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;
  318. if (!__email.test(value)) {
  319. validateStatus = false;
  320. }
  321. } else if (checkType == "UNSTRCN") {
  322. var __cn = /^[\u3220-\uFA29]+$/;
  323. if (__cn.test(value)) {
  324. validateStatus = false;
  325. }
  326. } else if (checkType == "STRCN") {
  327. var __cn = /^[\u3220-\uFA29]+$/;
  328. if (!__cn.test(value)) {
  329. validateStatus = false;
  330. }
  331. } else if (checkType == "NUM") {
  332. // "number[/[+|-][int|integer|float|double|money|{位数正则}.{位数正则}]]"
  333. // var __regex = /^\d+(\.\d+)?$/;
  334. var __regex = /^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/;
  335. if (!__regex.test(value)) {
  336. validateStatus = false;
  337. }
  338. } else if (checkType == "DIGITS") {
  339. var __regex = /^\d+$/;
  340. if (!__regex.test(value)) {
  341. validateStatus = false;
  342. }
  343. } else if (checkType == "TELENUM") {
  344. var tel = /^\d{3,4}-{1}\d{7,9}-?\d{1,6}$/;
  345. var tel400800 = /^(400{1}-?[0-9]{3}-?[0-9]{4})|(800{1}-?[0-9]{3}-?[0-9]{4})$/
  346. if (!(tel.test(value) || tel400800.test(value))) {
  347. validateStatus = false;
  348. }
  349. } else if (checkType == "PHONENUM") {
  350. var length = value.length;
  351. var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
  352. if (!(length == 11 && mobile.test(value))) {
  353. validateStatus = false;
  354. }
  355. } else if (checkType == "TELE_PHONE_NUM") {
  356. var mobile = /^(((13[0-9]{1})|(15[0-9]{1})|(17[0-9]{1})|(18[0-9]{1}))+\d{8})$/;
  357. var tel = /^\d{3,4}-{1}\d{7,9}-?\d{1,6}$/;
  358. var tel400800 = /^(400{1}-?[0-9]{3}-?[0-9]{4})|(800{1}-?[0-9]{3}-?[0-9]{4})$/
  359. if (!(tel400800.test(value) || tel.test(value) || mobile.test(value))) {
  360. validateStatus = false;
  361. }
  362. } else if (checkType == "DATE") {
  363. //日期的正则表达式
  364. /*var reg1 = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/;//2014-01-01
  365. var regExp1 = new RegExp(reg1);
  366. var reg2 = /^(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;//12:00:00
  367. var regExp2 = new RegExp(reg2);
  368. var reg3 = /^[1-9]\d{3}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])\s+(20|21|22|23|[0-1]\d):[0-5]\d:[0-5]\d$/;//2014-01-01 12:00:00
  369. var regExp3 = new RegExp(reg3);
  370. if(!(regExp1.test(value) || regExp3.test(value))){
  371. // alert("日期格式不正确,正确格式为:2014-01-01");
  372. errorType = "DATE";
  373. validateStatus = false;
  374. }*/
  375. if (/Invalid|NaN/.test(new Date(value).toString())) {
  376. validateStatus = false;
  377. }
  378. } else if (checkType == "IDENTCODE") {
  379. var check = /^\d{15}|(\d{17}(\d|x|X))$/.test(value);
  380. if (!(check && (value.length == 15 || value.length == 18))) {
  381. validateStatus = false;
  382. }
  383. } else if (checkType == "ZIPCODE") {
  384. var tel = /^[0-9]{6}$/;
  385. if (!tel.test(value)) {
  386. validateStatus = false;
  387. }
  388. } else if (checkType == "URL"){
  389. var strRegex = /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i;
  390. if (!strRegex.test(value)) {
  391. validateStatus = false;
  392. }
  393. }
  394. return validateStatus;
  395. }
  396. /******************************处理题目逻辑设置 **************************************/
  397. //处理题目逻辑设置
  398. /** 答题触发事件 **/
  399. //初始化 处理默认逻辑跳转为显示,则先隐藏元素
  400. var quLogics=$("#dwSurveyQuContent .quLogicItem");
  401. $.each(quLogics,function(){
  402. var loginItem=$(this);
  403. var cgQuItemId=loginItem.find(".cgQuItemId").val();
  404. var skQuId=loginItem.find(".skQuId").val();
  405. var logicId=loginItem.find(".logicId").val();
  406. var logicType=loginItem.find(".logicType").val();
  407. if(logicType==="2"){
  408. //逻辑类型为“显示”2 则初始化为隐藏
  409. var hidQuItemBody=$(".quId[value='"+skQuId+"']").parents(".li_surveyQuItemBody");
  410. hidQuItemBody.hide();
  411. hidQuItemBody.addClass("hidFor"+logicId);
  412. hidQuItemBody.find(".answerTag").attr("disabled",true);
  413. }
  414. });
  415. /** 单选与多选条件触发 自定义单选多选效果 操作结束后得调用逻辑判断 **/
  416. $(".dwQuOptionItemContent").click(function(){
  417. var thObj=$(this);
  418. var quItemBody=thObj.parents(".li_surveyQuItemBody");
  419. var quType=quItemBody.find(".quType").val();
  420. var dwQuInputLabel=thObj.find(".dwQuInputLabel");
  421. if("RADIO"===quType){
  422. //单选题
  423. quItemBody.find(".dwQuInputLabel").removeClass("checked");
  424. quItemBody.find("input[type='radio']").prop("checked",false);
  425. dwQuInputLabel.addClass("checked");
  426. thObj.find("input[type='radio']").prop("checked",true);
  427. runlogic(thObj.find("input[type='radio']"));
  428. }else if("CHECKBOX"===quType){
  429. //多选题
  430. //quItemBody.find(".dwQuInputLabel").removeClass("checked");
  431. var quInputLabelClass=dwQuInputLabel.attr("class");
  432. if(quInputLabelClass.indexOf("checked")>0){
  433. dwQuInputLabel.removeClass("checked");
  434. thObj.find("input[type='checkbox']").prop("checked",false);
  435. }else{
  436. dwQuInputLabel.addClass("checked");
  437. thObj.find("input[type='checkbox']").prop("checked",true);
  438. }
  439. var checkeds = quItemBody.find("input[type='checkbox']:checked");
  440. var paramInt02 = quItemBody.find(".paramInt02").val();
  441. if(paramInt02>0){
  442. if(checkeds[0]&&checkeds.size()>paramInt02){
  443. dwQuInputLabel.removeClass("checked");
  444. thObj.find("input[type='checkbox']").prop("checked",false);
  445. alert("最多只支持选择"+paramInt02+"项内容!");
  446. return false;
  447. }
  448. }
  449. runlogic(thObj.find("input[type='checkbox']"));
  450. }
  451. answerProgressbar(thObj);
  452. validateCheck(quItemBody,false);
  453. });
  454. $(".dwQuOptionItemNote").click(function(){
  455. return false;
  456. });
  457. //填空题
  458. $(".fillblankInput,.dwMFillblankInput").blur(function(){
  459. //$(this).css("borderColor","#D6D6FF");
  460. var thVal=$(this).val();
  461. runlogic($(this));
  462. answerProgressbar($(this));
  463. if(!$(this).hasClass("Wdate") || thVal!=""){
  464. validateCheck($(this).parents(".li_surveyQuItemBody"),true);
  465. }
  466. });
  467. $(".radioSelect").change(function(){
  468. var thVal = $(this).val();
  469. var thName = $(this).attr("name");
  470. var quCoItemUlLi = $(this).parents("li.quCoItemUlLi");
  471. var quItemInputCase= quCoItemUlLi.find(".quItemInputCase[itemid='"+thVal+"']");
  472. var isNote = quItemInputCase.find(".isNote").val();
  473. if(isNote=="1"){
  474. quCoItemUlLi.find(".dwQuOptionItemNote").hide();
  475. var dwQuOptionItemNote = quCoItemUlLi.find(".dwQuOptionItemNote[name='text_"+thName+"_"+thVal+"']");
  476. dwQuOptionItemNote.show();
  477. }else{
  478. quCoItemUlLi.find(".dwQuOptionItemNote").hide();
  479. }
  480. var thObj = $(this);
  481. var quItemBody = $(this).parents(".li_surveyQuItemBody");
  482. answerProgressbar(thObj);
  483. validateCheck(quItemBody,false);
  484. return false;
  485. });
  486. //只要触发事件
  487. function runlogic(thFormElementObj){
  488. //thFormElementObj 当前关联的form表单元素
  489. var quItemBody=thFormElementObj.parents(".li_surveyQuItemBody");
  490. var quLogicItems=quItemBody.find(".quLogicItem");
  491. if(quLogicItems[0]){
  492. var quInputCase=quItemBody.find(".quInputCase");
  493. var quId=quInputCase.find(".quId").val();
  494. var quType=quInputCase.find(".quType").val();
  495. //$("input[name='qu_"+quType+"_"+quId+"']").change(function(){});
  496. if(quType==="RADIO" || quType==="CHECKBOX" ){
  497. //判断是否选中
  498. var quLgoicItem=null;
  499. //var thVal=thFormElementObj.val();
  500. var quOptionItems=null;
  501. quOptionItems=quItemBody.find(".dwQuOptionItemContent");
  502. $.each(quLogicItems,function(){
  503. var loginItem=$(this);
  504. var cgQuItemId=loginItem.find(".cgQuItemId").val();
  505. var skQuId=loginItem.find(".skQuId").val();
  506. var logicId=loginItem.find(".logicId").val();
  507. var logicType=loginItem.find(".logicType").val();
  508. var isbreak=false;
  509. $.each(quOptionItems,function(){
  510. var quCoItem=$(this);
  511. var quInput=null;
  512. var logicStatus=false;
  513. var curQuItemId=null;
  514. if(quType==="RADIO"){
  515. quInput=quCoItem.find("input[type='radio']");
  516. logicStatus=quInput.prop("checked");
  517. curQuItemId=quInput.val();
  518. }else if(quType==="CHECKBOX"){
  519. quInput=quCoItem.find("input[type='checkbox']");
  520. logicStatus=quInput.prop("checked");
  521. curQuItemId=quInput.val();
  522. }
  523. if(curQuItemId===cgQuItemId){
  524. if(logicType==="1"){
  525. if(logicStatus){
  526. skQuestion(quItemBody.next(),skQuId,logicId,function(){
  527. //重新编题号
  528. });
  529. if(skQuId==="1" || skQuId==="2" ){
  530. isbreak=true;
  531. }
  532. }else{
  533. /*
  534. //$(".hidFor"+loginId).slideDown("slow");
  535. $(".hidFor"+loginId).show();
  536. //$(".hidFor"+loginId).fadeIn();
  537. $(".hidFor"+loginId).removeClass("hidFor"+loginId);
  538. $(".hidFor"+loginId).find(".answerTag").attr("disabled",false);
  539. */
  540. var hidQuItemBodys=$(".hidFor"+logicId);
  541. $(".hidFor"+logicId).removeClass("hidFor"+logicId);
  542. var curPageNo = quItemBody.find(".pageNo").val();
  543. $.each(hidQuItemBodys,function(){
  544. var thQuItemBodyClass=$(this).attr("class");
  545. var thPageNo = $(this).find(".pageNo").val();
  546. if(thQuItemBodyClass.indexOf("hidFor")<0 && thPageNo==curPageNo){
  547. $(this).show();
  548. //$(".hidFor"+loginId).fadeIn();
  549. $(this).find(".answerTag").attr("disabled",false);
  550. }
  551. });
  552. }
  553. }else{
  554. if(logicStatus){
  555. var hidQuItemBodys = $(".hidFor" + logicId);
  556. $(".hidFor" + logicId).removeClass("hidFor" + logicId);
  557. var curPageNo = quItemBody.find(".pageNo").val();
  558. $.each(hidQuItemBodys, function () {
  559. var hidQuItemBody = $(this);
  560. var hidQuId = $(this).find(".quId").val();
  561. if (quType == "CHECKBOX" || quType == "RADIO") {
  562. $.each(quLogicItems, function () {
  563. var thLoginItem = $(this);
  564. var thSkQuId = thLoginItem.find(".skQuId").val();
  565. var thLogicType = thLoginItem.find(".logicType").val();
  566. var thLogicId = thLoginItem.find(".logicId").val();
  567. var logicHidForClass = "hidFor" + thLogicId;
  568. // console.debug(logicHidForClass);
  569. if (thLogicType === "2" && thSkQuId === hidQuId) {
  570. hidQuItemBody.removeClass(logicHidForClass);
  571. }
  572. });
  573. }
  574. var thQuItemBodyClass = $(this).attr("class");
  575. var thPageNo = $(this).find(".pageNo").val();
  576. if (thQuItemBodyClass.indexOf("hidFor") < 0 && thPageNo == curPageNo) {
  577. $(this).show();
  578. $(this).find(".answerTag").attr("disabled", false);
  579. }
  580. });
  581. }else{
  582. /* 隐藏题
  583. */
  584. var isHide = true;
  585. if(quType=="CHECKBOX" || quType=="RADIO"){
  586. //先判断有没有逻辑已经触发了
  587. $.each(quLogicItems,function() {
  588. var thLoginItem = $(this);
  589. var thCgQuItemId=thLoginItem.find(".cgQuItemId").val();
  590. var thSkQuId = thLoginItem.find(".skQuId").val();
  591. var thLogicType = thLoginItem.find(".logicType").val();
  592. var thLogicId=thLoginItem.find(".logicId").val();
  593. if( thLogicType==="2" && thSkQuId === skQuId ){
  594. var thCgQuOptionItem=quItemBody.find(".dwQuOptionItemContent input[type='checkbox'][value='"+thCgQuItemId+"'],.dwQuOptionItemContent input[type='radio'][value='"+thCgQuItemId+"']");
  595. var thCgQuOptionStatus=thCgQuOptionItem.prop("checked");
  596. if(thCgQuOptionStatus){
  597. isHide = false;
  598. return false;
  599. }
  600. }
  601. });
  602. }
  603. if(isHide){
  604. var hidQuItemBody=$(".quId[value='"+skQuId+"']").parents(".li_surveyQuItemBody");
  605. hidQuItemBody.hide();
  606. hidQuItemBody.addClass("hidFor"+logicId);
  607. hidQuItemBody.find(".answerTag").attr("disabled",true);
  608. }
  609. }
  610. }
  611. return false;
  612. }
  613. });
  614. if(isbreak){
  615. return false;
  616. }
  617. });
  618. }else if(quType==="FILLBLANK"){
  619. //遍历每个逻辑设置
  620. var quOptionItems=quItemBody.find(".dwQuOptionItemContent");
  621. var thVal=thFormElementObj.val();
  622. $.each(quLogicItems,function(){
  623. var loginItem=$(this);
  624. var cgQuItemId=loginItem.find(".cgQuItemId").val();
  625. var skQuId=loginItem.find(".skQuId").val();
  626. var logicId=loginItem.find(".logicId").val();
  627. var logicType=loginItem.find(".logicType").val();
  628. if(logicType==="1"){
  629. //跳转
  630. if(thVal!=""){
  631. //逻辑选项被选中状态,激活状态
  632. skQuestion(quItemBody.next(),skQuId,logicId,function(){
  633. //重新编题号
  634. });
  635. if(skQuId==="1" || skQuId==="2" ){
  636. isbreak=true;
  637. }
  638. }else{
  639. //逻辑选项未被选中状态,未激活
  640. //$(".hidFor"+loginId).slideDown("slow");
  641. var hidQuItemBodys=$(".hidFor"+logicId);
  642. $(".hidFor"+logicId).removeClass("hidFor"+logicId);
  643. var curPageNo = quItemBody.find(".pageNo").val();
  644. $.each(hidQuItemBodys,function(){
  645. var thQuItemBodyClass=$(this).attr("class");
  646. var thPageNo = $(this).find(".pageNo").val();
  647. if(thQuItemBodyClass.indexOf("hidFor")<0 && thPageNo==curPageNo){
  648. $(this).show();
  649. //$(".hidFor"+loginId).fadeIn();
  650. //回答标记与逻辑设置没有关系
  651. $(this).find(".answerTag").attr("disabled",false);
  652. }
  653. });
  654. }
  655. }else{
  656. //显示
  657. //逻辑类型为“显示” quType=1
  658. if(thVal!=""){
  659. //逻辑选项被选中状态,激活状态 显示题
  660. var hidQuItemBodys=$(".hidFor"+logicId);
  661. $(".hidFor"+logicId).removeClass("hidFor"+logicId);
  662. var curPageNo = quItemBody.find(".pageNo").val();
  663. $.each(hidQuItemBodys,function(){
  664. var thQuItemBodyClass=$(this).attr("class");
  665. var thPageNo = $(this).find(".pageNo").val();
  666. if(thQuItemBodyClass.indexOf("hidFor")<0 && thPageNo==curPageNo){
  667. $(this).show();
  668. $(this).find(".answerTag").attr("disabled",false);
  669. }
  670. });
  671. }else{
  672. /* 隐藏题
  673. */
  674. var hidQuItemBody=$(".quId[value='"+skQuId+"']").parents(".li_surveyQuItemBody");
  675. hidQuItemBody.hide();
  676. hidQuItemBody.addClass("hidFor"+logicId);
  677. hidQuItemBody.find(".answerTag").attr("disabled",true);
  678. }
  679. }
  680. });
  681. }
  682. resetQuNumLogic();
  683. }
  684. }
  685. function skQuestion(nextQuItemBody,skQuId,logicId,callback){
  686. if(nextQuItemBody[0]){
  687. //submitSurveyBtn
  688. var nextQuType=nextQuItemBody.find(".quType").val();
  689. var nextQuId=nextQuItemBody.find(".quId").val();
  690. var nextAnswerTag=nextQuItemBody.find(".answerTag");
  691. //如果是新一页则显示当前页所有题
  692. if(nextQuType=="PAGETAG"){
  693. if(validateForms()) {
  694. nextQuItemBody.find(".nextPage_a").click();
  695. }
  696. }
  697. //var quType=quItemBody.find(".quType").val();
  698. //var quId=quItemBody.find(".quId").val();
  699. //判断跳转类型
  700. if(skQuId==null){
  701. //对于逻辑选项未被选中的情况
  702. }else if(nextQuType=="PAGETAG"){
  703. skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){
  704. });
  705. }else if(nextQuType!="submitSurveyBtn" && nextQuType!="PAGETAG" && (skQuId==="1" || skQuId==="2" || nextQuId!=skQuId) ){
  706. //对于逻辑项是被选定的情况下
  707. nextAnswerTag.attr("disabled",true);
  708. //nextQuItemBody.slideUp("slow");
  709. nextQuItemBody.hide();
  710. //nextQuItemBody.fadeOut();
  711. nextQuItemBody.addClass("hidFor"+logicId);
  712. skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){
  713. });
  714. }
  715. /*
  716. else if(nextQuItemBody.is(":hidden")){
  717. skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){
  718. });
  719. }else if(nextQuType!="submitSurveyBtn" && nextQuType!="PAGETAG" && (skQuId==="1" || skQuId==="2" || nextQuId!=skQuId) ){
  720. //对于逻辑项是被选定的情况下
  721. nextAnswerTag.attr("disabled",true);
  722. //nextQuItemBody.slideUp("slow");
  723. nextQuItemBody.hide();
  724. //nextQuItemBody.fadeOut();
  725. nextQuItemBody.addClass("hidFor"+logicId);
  726. skQuestion(nextQuItemBody.next(),skQuId,logicId,function(){
  727. });
  728. }*/
  729. }else{
  730. callback();
  731. }
  732. }
  733. // resetQuNum();
  734. function resetQuNum(){
  735. var quCoNums=$(".quCoNum");
  736. $.each(quCoNums,function(i,item){
  737. $(this).html((i+1)+"、");
  738. });
  739. }
  740. resetQuNumLogic();
  741. function resetQuNumLogic(){
  742. var surveyQuItemBodys = $(".li_surveyQuItemBody");
  743. var quIndex = 1;
  744. $.each(surveyQuItemBodys,function(i,item){
  745. var thClass = $(this).attr("class");
  746. var quCoNum = $(this).find(".quCoNum");
  747. // console.debug(thClass+":"+thClass.indexOf("hidFor"));
  748. if(thClass.indexOf("hidFor")<0 && quCoNum[0]){
  749. quCoNum.html((quIndex++)+"、");
  750. }
  751. });
  752. }
  753. /*
  754. $("input").unbind("click");
  755. $("input").click(function(){
  756. var quItemBody=$(this).parents(".li_surveyQuItemBody ");
  757. var quType=quItemBody.find(".quType").val();
  758. if(quType=="RADIO"){
  759. quItemBody.find(".answerTag").val(1);
  760. }
  761. var totalQuSize=$(".answerTag:enabled").size();
  762. var answerTag1=$(".answerTag[value='1']:enabled");
  763. var answerQuSize=0;
  764. if(answerTag1[0]){
  765. answerQuSize=answerTag1.size();
  766. }
  767. var newValue = parseInt(answerQuSize/totalQuSize*100);
  768. $("#resultProgressRoot .progress-label").text(newValue+"%");
  769. $("#resultProgress").progressbar("option", "value", newValue);
  770. });
  771. */
  772. $("#mobileTdId").click(function(){
  773. $(this).next().slideToggle();
  774. return false;
  775. });
  776. bindDateEvent();
  777. }
  778. function validateCheck(quItemBody,isSubForm){
  779. if(quItemBody.is(":visible")){
  780. var quId=quItemBody.find(".quId").val();
  781. var quType=quItemBody.find(".quType").val();
  782. var isRequired=quItemBody.find(".isRequired").val();
  783. var validateStatus=false;
  784. var checkType = "";
  785. if(isRequired==="0"){
  786. validateStatus = true;
  787. return true;
  788. }
  789. if(quType==="RADIO"){
  790. var hv = quItemBody.find(".hv").val();
  791. if(hv=="4" && quType ==="RADIO"){
  792. var radioSelectVal = quItemBody.find(".radioSelect").val();
  793. if(radioSelectVal!="" && radioSelectVal!="0"){
  794. var radioSelect = quItemBody.find(".radioSelect");
  795. var radioSelectVal = radioSelect.val();
  796. var radioSelectName = radioSelect.attr("name");
  797. var quCoItemUlLi = radioSelect.parents("li.quCoItemUlLi");
  798. var quItemInputCase= quCoItemUlLi.find(".quItemInputCase[itemid='"+radioSelectVal+"']");
  799. var isNote = quItemInputCase.find(".isNote").val();
  800. if(isNote=="1"){
  801. var curText = quCoItemUlLi.find(".dwQuOptionItemNote[name='text_"+radioSelectName+"_"+radioSelectVal+"']");
  802. var curTextValue = curText.val();
  803. var checkType = quItemInputCase.find(".checkType").val();
  804. var isRequiredFill = quItemInputCase.find(".isRequiredFill").val();
  805. if(isRequiredFill=="1" || curTextValue!="") {
  806. validateStatus = checkoutData(checkType, curText);
  807. }else{
  808. validateStatus = true;
  809. }
  810. }else{
  811. validateStatus = true;
  812. }
  813. }
  814. }else{
  815. validateStatus=quItemBody.find("input[type='radio']:checked")[0];
  816. if(validateStatus){
  817. var curRadio = quItemBody.find("input[type='radio']:checked");
  818. var curText = curRadio.parent().find("input[type='text']:visible");
  819. if(curText[0]){
  820. var curTextValue = curText.val();
  821. checkType = curRadio.parent().find(".checkType").val();
  822. var isRequiredFill = curRadio.parent().find(".isRequiredFill").val();
  823. if(isRequiredFill!="1"){
  824. validateStatus = checkoutData(checkType, curTextValue);
  825. }
  826. }
  827. }
  828. }
  829. }else if(quType==="CHECKBOX"){
  830. validateStatus=quItemBody.find("input[type='checkbox']:checked")[0];
  831. var paramInt01 = quItemBody.find(".paramInt01").val();
  832. if(paramInt01>0){
  833. /*var checkeds = quItemBody.find("input[type='checkbox']:checked");
  834. if(checkeds[0]&&checkeds.size()<paramInt01){
  835. quItemBody.find(".quCoItem").append("<div class=\"errorItem\"><label class=\"error\">请保证最少选择"+paramInt01+"项内容</label></div>");
  836. validateStatus = false;
  837. }else{
  838. quItemBody.find(".quCoItem .errorItem").remove();
  839. }*/
  840. }
  841. if(validateStatus){
  842. // isNote checkType isRequiredFill
  843. var curCheckboxs = quItemBody.find("input[type='checkbox']:checked");
  844. $.each(curCheckboxs,function(){
  845. var curText = $(this).parent().find("input[type='text']:visible");
  846. if(curText[0]){
  847. var curTextValue = curText.val();
  848. checkType = $(this).parent().find(".checkType").val();
  849. var isRequiredFill = $(this).parent().find(".isRequiredFill").val();
  850. if(isRequiredFill!="1"){
  851. validateStatus = checkoutData(checkType, curTextValue);
  852. }
  853. }
  854. if(!validateStatus){
  855. return false;
  856. }
  857. });
  858. }
  859. }else if(quType==="FILLBLANK"){
  860. var value = quItemBody.find(".fillblankInput").val();
  861. validateStatus = value!="";
  862. checkType = quItemBody.find(".checkType").val();
  863. if(validateStatus){
  864. validateStatus = checkoutData(checkType, value);
  865. }
  866. }else if(quType==="ORDERQU"){
  867. //quItemBody.find(".quOrderByLeftUl label");
  868. validateStatus=!quItemBody.find(".quOrderByLeftUl label")[0];
  869. }else if(quType==="SCORE"){
  870. validateStatus=true;
  871. var quScoreOptionTrs=quItemBody.find(".quScoreOptionTr");
  872. $.each(quScoreOptionTrs,function(){
  873. var scoreNumInput=$(this).find(".scoreNumInput");
  874. if(scoreNumInput.val()===""){
  875. validateStatus=false;
  876. return false;
  877. }
  878. });
  879. }else if(quType==="MULTIFILLBLANK"){
  880. validateStatus=true;
  881. var quScoreOptionTrs=quItemBody.find(".mFillblankTableTr");
  882. $.each(quScoreOptionTrs,function(){
  883. var scoreNumInput=$(this).find(".dwMFillblankInput");
  884. if(scoreNumInput.val()===""){
  885. validateStatus=false;
  886. return false;
  887. }
  888. });
  889. }else if(quType==="submitSurveyBtn" || quType==="PARAGRAPH" || quType==="PAGETAG"){
  890. return true;
  891. }
  892. }else{
  893. validateStatus=true;
  894. }
  895. if(validateStatus){
  896. quItemBody.find(".errorItem").remove();
  897. }else{
  898. // isSubForm && !quItemBody.find(".errorItem")[0]
  899. if(isSubForm){
  900. if(quItemBody.find(".errorItem")[0]){
  901. quItemBody.find(".errorItem").remove();
  902. }
  903. var errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请检查题目答案,为必答项!</label></div>";
  904. if(checkType=="EMAIL"){
  905. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入Email,为必答项!</label></div>";
  906. }else if(checkType=="UNSTRCN"){
  907. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入非中文字符,为必答项!</label></div>";
  908. }else if(checkType=="STRCN"){
  909. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入中文字符,为必答项!</label></div>";
  910. }else if(checkType=="NUM"){
  911. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入数字,为必答项!</label></div>";
  912. }else if(checkType == "DIGITS"){
  913. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入整数,为必答项!</label></div>";
  914. }else if(checkType == "TELENUM"){
  915. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入电话,为必答项!</label></div>";
  916. }else if(checkType == "PHONENUM"){
  917. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入手机,为必答项!</label></div>";
  918. }else if(checkType == "TELE_PHONE_NUM"){
  919. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入电话或手机,为必答项!</label></div>";
  920. }else if(checkType == "DATE"){
  921. //2014-01-01 12:00:00
  922. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入如日期时间,为必答项!</label></div>";
  923. }else if(checkType == "IDENTCODE"){
  924. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入身份证号,为必答项!</label></div>";
  925. }else if(checkType == "ZIPCODE"){
  926. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入邮编,为必答项!</label></div>";
  927. }else if(checkType == "URL"){
  928. errorHtml="<div class=\"errorItem\"><label for=\"\" class=\"error\">请输入URL,为必答项!</label></div>";
  929. }
  930. quItemBody.find(".quCoItem").append(errorHtml);
  931. }
  932. }
  933. return validateStatus;
  934. }
  935. /**********************处理答题进度条************************/
  936. //$("#resultProgress").progressbar({value: bfbFloat});
  937. function answerProgressbar(thObj){
  938. var quItemBody=thObj.parents(".li_surveyQuItemBody ");
  939. var quType=quItemBody.find(".quType").val();
  940. if(quType==="RADIO"){
  941. //quItemBody.find(".answerTag").val(1);
  942. var checks=quItemBody.find("input[type='radio']:checked");
  943. if(checks[0]){
  944. quItemBody.find(".answerTag").val(1);
  945. }else{
  946. quItemBody.find(".answerTag").val(0);
  947. }
  948. }else if(quType=="CHECKBOX"){
  949. var checks=quItemBody.find("input[type='checkbox']:checked");
  950. if(checks[0]){
  951. quItemBody.find(".answerTag").val(1);
  952. }else{
  953. quItemBody.find(".answerTag").val(0);
  954. }
  955. }else if(quType==="FILLBLANK"){
  956. var thVal=thObj.val();
  957. if(thVal!=""){
  958. quItemBody.find(".answerTag").val(1);
  959. }else{
  960. quItemBody.find(".answerTag").val(0);
  961. }
  962. }else if(quType==="ORDERQU"){
  963. //quOrderByLeftUl
  964. var orderByLabels=quItemBody.find(".quOrderByLeftUl label");
  965. if(!orderByLabels[0]){
  966. quItemBody.find(".answerTag").val(1);
  967. }else{
  968. quItemBody.find(".answerTag").val(0);
  969. }
  970. }else if( quType==="SCORE" ){
  971. //<input type="hidden" class="answerTag" value="0" >
  972. var quScoreOptionTr=thObj.parents(".quScoreOptionTr");
  973. var scoreNumInput=quScoreOptionTr.find(".scoreNumInput");
  974. if(scoreNumInput.val()!=""){
  975. quScoreOptionTr.find(".answerTag").val(1);
  976. }else{
  977. quScoreOptionTr.find(".answerTag").val(0);
  978. }
  979. }else if(quType==="MULTIFILLBLANK"){
  980. var mFillblankTableTr=thObj.parents(".mFillblankTableTr");
  981. if(thObj.val()!=""){
  982. mFillblankTableTr.find(".answerTag").val(1);
  983. }else{
  984. mFillblankTableTr.find(".answerTag").val(0);
  985. }
  986. }
  987. var totalQuSize=$("#dwSurveyQuContent .answerTag:enabled").size();
  988. var answerTag1=$("#dwSurveyQuContent .answerTag[value='1']:enabled");
  989. var answerQuSize=0;
  990. if(answerTag1[0]){
  991. answerQuSize=answerTag1.size();
  992. }
  993. var newValue = parseInt(answerQuSize/totalQuSize*100);
  994. $("#resultProgressRoot .progress-label").text("完成度:"+newValue+"%");
  995. $("#resultProgress").progressbar("option", "value", newValue);
  996. }