自动切换下一题
来源:互联网 发布:java字节流写入文件 编辑:程序博客网 时间:2024/06/15 09:30
题记:依然是量表系统工程,答题的过程中除了点击下一题来进入下一题外,还可以在选完选项后自动跳入下一题。代码如下:
//自动切换下一题 function nextAjax(){ var num = $(".question_number").text(); //alert(num); //return; var formid = $(".question_form").attr("nameid"); var hidPatientid = $('.hidPatientid').text(); //return; var tag = false; var optionVal; optionVal = $("input[name='option']:checked").attr('value'); $.ajax({ url:"/formpreview/getNext", type:"POST", dataType:"json", data:{ "DATA": {"FORMID":formid,"NUM":num,"optionVal":optionVal,"hidPatientid":hidPatientid} }, success: function(data){ if(data.flag){ $(".question_number").text(data.num+"."); $("#question_content").text(data.data.question); $("#li_optiona").empty(); $("#li_optiona").append('<input name="option" id="optionA" type="radio" value="1"><label for="optionA"> A. <span id="span_optiona"></span></label>'); $("#span_optiona").text(data.data.optionA); $("#li_optionb").empty(); $("#li_optionb").append('<input name="option" id="optionB" type="radio" value="2"><label for="optionB"> B. <span id="span_optionb"></span></label>'); $("#span_optionb").text(data.data.optionB); $("#li_optionc").empty(); if(data.data.optionC != ""){ $("#li_optionc").append('<input name="option" id="optionC" type="radio" value="3"><label for="optionC"> C. <span id="span_optionc"></span></label>'); $("#span_optionc").text(data.data.optionC); } $("#li_optiond").empty(); if(data.data.optionD != ""){ $("#li_optiond").append('<input name="option" id="optionD" type="radio" value="4"><label for="optionD"> D. <span id="span_optiond"></span></label>'); $("#span_optiond").text(data.data.optionD); } $("#li_optione").empty(); if(data.data.optionE != ""){ $("#li_optione").append('<input name="option" id="optionE" type="radio" value="5"><label for="optionE"> E. <span id="span_optione"></span></label>'); $("#span_optione").text(data.data.optionE); } $("#li_optionf").empty(); if(data.data.optionF != ""){ $("#li_optionf").append('<input name="option" id="optionF" type="radio" value="6"><label for="optionF"> F. <span id="span_optionf"></span></label>'); $("#span_optionf").text(data.data.optionF); } $("#li_optiong").empty(); if(data.data.optionG != ""){ $("#li_optiong").append('<input name="option" id="optionG" type="radio" value="7"><label for="optionG"> G. <span id="span_optiong"></span></label>'); $("#span_optiong").text(data.data.optionE); } $('input[value='+data.data.answers+']').attr("checked",true); $('audio').attr('src','../../public/audio/'+data.data.formid+data.num+'.mp3'); } else{ $('.main_cover,.finish').css("display","block"); // if(value=='true'){ $('audio').attr('src','../../public/audio/end.mp3'); // } $('.finish_cont .next').click(function(){ window.close(); }); tag = true; $.ajax({ url:"/formpreview/end", type:"POST", dataType:"json", data:{ "DATA": {"TAG":tag,"FORMID":formid,"hidPatientid":hidPatientid} }, success: function(data){ } }); } } }); } var option = $("input[name='option']"); option.live('change',function(){ setTimeout(nextAjax,250); });
这里着重说一下live绑定事件,项目开始时以为给option绑定change事件就会给每个option绑定change事件,事实当然不是,只执行一次,如果需要多次执行,就得使用事件委托。
与bind()不同的是,live()一次只能绑定一个事件。
这个方法跟传统的bind很像,区别在于用live来绑定事件会给所有当前以及将来在页面上的元素绑定事件(使用委派的方式)。比如说,如果你给页面上所有的li用live绑定了click事件。那么当在以后增加一个li到这个页面时,对于这个新增加的li,其click事件依然可用。而无需重新给这种新增加的元素绑定事件。
1 0
- 自动切换下一题
- Tab切换和自动切换
- 图片自动切换
- 输入法自动切换
- js图片自动切换
- 模糊自动切换图片
- master-slave自动切换
- xp 壁纸自动切换
- 自动切换有线、无线网络
- android 图片自动切换
- 自动图片切换 Gallery
- jquery图片自动切换
- 图片自动切换
- jquery 图片自动切换
- 图片自动切换
- DRBD自动切换负载
- viewpager 自动切换
- 表单自动切换焦点
- @property与@synthesize
- mysql的锁机制
- 微信小程序学习用demo推荐:微信涂鸦、canvas学习
- 数据结构图之一(基本概念,存储结构,两种遍历)
- bzoj 3456: 城市规划 NTT+多项式求逆
- 自动切换下一题
- XA分布式事务处理两阶段提交
- Linux Socket编程(不限Linux)
- 分布式事务处理两阶段提交实例
- Ubuntu:dpkg: 处理软件包 runit (--configure)时出错
- 分布式事务处理两阶段提交实例2及注意
- nginx tomcat负载均衡环境下,session的管理问题
- jquery编写选项卡Tab页跳转功能
- 配置Tomcat JNDI数据源