业务需求:
做一套问卷系统,用户填写完问卷之后,点击提交按钮,根据用户提交的答案即获得问卷结果
前台逻辑:
在每个选项后面跟一个checkbox 并设置value值为1A,2B,3C......
利用jquery获取所有用户勾选的checkbox的值,把他们装在一个数组中,
点击提交按钮以后,绑定一个点击事件—发送ajax请求给后台,利用post提交数据将处理好的答案给后台做比较
返回结果并做相应的处理
1 var chk_value =[]; 2 //获得选取的内容 3 $('input[name="answer"]:checked').each(function(){ 4 chk_value.push($(this).val()); 5 }); 6 /********************************************************************************/ 7 var i=0; 8 var values=''; 9 var checked = $("input:checked");//获取所有被选中的标签元素10 for(i=0;i
后台逻辑:
根据提交的数组获取答案,并返回给前台
1 public function userType($answer=array()) 2 { 3 /** 4 * 基本类型 5 */ 6 $one = ['3D','4D','4E']; 7 $two = ['3A','4A','7A','7B','8A','8B']; 8 $ten = ['10A','10B','10C','10D','10E','10F'];//第十题答案 9 10 /*11 *判断类型 1 为**型 2为**型 3为**型12 */13 //判断是否为**类型14 if( !empty( array_intersect($answer,$ten) )){ //判断用户是否选中了最后一题15 if ( !empty( array_intersect($answer,$one) ) ) {16 return 1;17 }else{18 //判断用户是否为2类型19 if ( !empty( array_intersect($answer,$two) ) ) {20 return 2;21 //其余为3类型22 }else{23 return 3;24 }25 }26 }else{27 return false;28 }29 30 }
后台业务处理包括数据的入库,将提交的数组用implode()成字符串再做入库处理