jquery的smartWizard插件使用方法

jquery 的smartWizard插件常用在一些向导式的,按步骤的功能中,是的用户按照我们设定的步骤进行操作,这样一方面有较好的用户体验,可以将庞大的表格 数据分解成多个步骤,是的每个步骤的数据量减少;另一方面流程比较清晰,先做那个下一步做什么都是可控可设定的。

下面说一下如何使用,首先html中引入jquery的smartWizard插件对应的jquery.smartWizard-2.0.js

html中代码如下:

[html] view plaincopyprint?

  1. <!--html 中 -->
  2. <div id="sfxxdj_div" class="swMain">
  3. <ul id="sfxxdj_wizard_ul">
  4. <li><a href="#sfxxdj_step_1"> <label class="stepNumber">1</label>
  5. <span class="stepDesc">选择身份类型</span> </a>
  6. </li>
  7. <li><a href="#sfxxdj_step_2"> <label class="stepNumber">1</label>
  8. <span class="stepDesc">基本信息表</span> </a>
  9. </li>
  10. <li><a href="#sfxxdj_step_3"> <label class="stepNumber">2</label>
  11. <span class="stepDesc">学历情况表</span> </a>
  12. </li>
  13. <li><a href="#sfxxdj_step_4"> <label class="stepNumber">3</label>
  14. <span class="stepDesc">工作情况表</span> </a>
  15. </li>
  16. </ul>
  17. <div id="sfxxdj_step_1"  style="overflow: auto;">
  18. <table cellpadding="0" cellspacing="0" border="0" class="wi-frm-tbl" style="width:100%; height:500px;line-height:50px">
  19. <th valign="top"><h1>请选择身份类型:</h1></br>
  20. <h1><input type="radio" name="jjdj_lx" id="jjdj_ctgs" value="1">
  21. 公司</h1></br>
  22. <h1><input type="radio" name="jjdj_lx" id="jjdj_glgs" value="3">
  23. 个人</h1></th>
  24. </table>
  25. </div>
  26. <div id="sfxxdj_step_2"  style="overflow: auto;">
  27. <!--内容可直接在这加入,如果内容过大可直接载入html -->
  28. </div>
  29. <div id="sfxxdj_step_3"  style="overflow: auto;">
  30. </div>
  31. <div id="sfxxdj_step_4"  style="overflow: auto;">
  32. </div>
  33. </div>
  34. <!-- End SmartWizard Content -->

js代码如下:

[javascript] view plaincopyprint?

  1. var sfxxdj = {
  2. //当点下一步时回调该函数,一般用于当前步骤的校验
  3. nextStepCallback : function(stepObj){
  4. var step_num= stepObj.attr(‘rel‘);
  5. switch (step_num) {
  6. case ‘1‘:
  7. if($(‘input[name=jjdj_lx]:checked‘).val()>0){
  8. sfxxdj.jjlx = $(‘input[name=jjdj_lx]:checked‘).val();
  9. if(sfxxdj.jjlx==‘1‘){
  10. $(‘#sfxxdj_wizard_ul [rel=5]‘).hide();
  11. $(‘#sfxxdj_step_5‘).hide();
  12. }else{
  13. $(‘#sfxxdj_wizard_ul [rel=2]‘).hide();
  14. }
  15. return true;//转下一步
  16. }
  17. else{
  18. alert("请选择基金登记类型!");
  19. return false;
  20. }
  21. case ‘2‘:
  22. if(sfxxdj.jjlx==‘1‘&&$("#sfxxdj_jbqkb_jjmc").val()==‘‘){
  23. alert("请输入基金名称!");
  24. return false;
  25. }else{
  26. sfxxdj.jjmc=$("#sfxxdj_jbqkb_jjmc").val();
  27. }
  28. return true;
  29. case ‘3‘:
  30. return true;
  31. case ‘4‘:
  32. return true;
  33. case ‘5‘:
  34. return true;
  35. case ‘6‘:
  36. default:
  37. break;
  38. }
  39. return true;
  40. },
  41. //当现实该步骤时回调该函数,一般用于当前步骤的初始化
  42. showStepCallback : function(stepObj){
  43. var step_num= stepObj.attr(‘rel‘);
  44. switch (step_num) {
  45. case ‘2‘:
  46. break;
  47. case ‘3‘:
  48. break;
  49. case ‘4‘:
  50. $("#jjxmmc").text(sfxxdj.jjmc);
  51. if(sfxxdj.jjlx=="1"){
  52. $(‘#div .actionBar a.buttonFinish‘).removeClass("buttonDisabled");
  53. $(‘#div .actionBar a.buttonNext‘).addClass("buttonDisabled");
  54. }
  55. break;
  56. case ‘5‘:
  57. if(sfxxdj.b4=="0"){
  58. settWtjj();
  59. }
  60. break;
  61. case ‘6‘:
  62. break;
  63. default:
  64. break;
  65. }
  66. }
  67. }
  68. $(function(){
  69. //对象初始化,以及设定相关回调时间
  70. $(‘#sfxxdj_div‘).smartWizard({
  71. keyNavigation: false,
  72. onFinish    : sfxxdj.onSubmit,
  73. onNextStep  : sfxxdj.nextStepCallback,
  74. onShowStep  : sfxxdj.showStepCallback
  75. });
  76. $( ".actionBar a" ).button();
  77. //文件形式初始化各步骤的内容
  78. $(‘#sfxxdj_step_2‘).html("").load(‘jbqkb.html‘);
  79. $(‘#sfxxdj_step_3‘).html("").load(‘xlqkb.html‘);
  80. $(‘#sfxxdj_step_4‘).html("").load(‘gzqkb.html‘);
  81. }

网上的参考资料不是很多,我也只是稍微应用了一下,最后说一下我了解的技巧,默认情况下上一步和下一步以及提交按钮需要人工来控制,哪些需要对按钮进行添加移除样式,如下:

[javascript] view plaincopyprint?

  1. $(‘.actionBar a.buttonFinish‘).removeClass("buttonDisabled");//提交按钮可用
  2. $(‘.actionBar a.buttonFinish‘).addClass("buttonDisabled");//提交按钮变灰
  3. $(‘.actionBar a.buttonNext‘).removeClass("buttonDisabled");//下一步按钮可用
  4. $(‘.actionBar a.buttonNext‘).addClass("buttonDisabled");//下一步按钮变灰
  5. $(‘.actionBar a.buttonPrevious‘).removeClass("buttonDisabled");//上一步按钮可用
  6. $(‘.actionBar a.buttonPrevious‘).addClass("buttonDisabled");//上一步按钮变灰

如何手动激活一个步骤的,或者如何跳过步骤呢?操作如下:

比如直接激活第四步骤可点击:

[javascript] view plaincopyprint?

  1. $(‘#sfxxdj_wizard_ul [rel=4]‘).attr("isDone",1);
  2. $(‘#sfxxdj_wizard_ul [rel=4]‘).addClass("done").removeClass("disabled");

这样不管你进行的是否做到第四步,都可以点击查看第四步的内容。
比如某些时候我们需要从第一步调转到第三步:

[javascript] view plaincopyprint?

  1. $(‘#sfxxdj_div‘).smartWizard(‘skipTo‘,3);

原文出自:http://blog.csdn.net/lishuangzhe7047/article/details/43017461

时间: 2024-10-05 21:55:08

jquery的smartWizard插件使用方法的相关文章

seajs 引用 jquery 和 使用插件解决方法

在这里就不介绍 seajs 是啥了,直接来说说在 seajs 中使用jquery 和 jquery 插件遇到的问题: 首先:[index.html 为展示页][main.js为主体页 ][ jquery.js 为jquery库][plugins.js为jquery插件],它们各自是一个页面 index.html seajs.config({ base:'./static/js/', alias:{ 'main':'main' } }); //引用主体js seajs.use('main'); 事

jQuery颜色面板插件

/** * jQuery颜色面板插件 * * 使用方法:input框的id默认为inputObj,button框的id默认为btnObj,也可以自定义aaa,bbb * 1.初始化颜色面板:$.color.initColor(); * 2.绑定颜色面板:$.color.showColor();或者$.color.showColor({inputObj:'aaa',btnObj:'bbb'}) * @author Ivan [email protected] * @date 2014年12月13日

Jquery插件使用方法

在实际开发工作中,总会碰到像滚动,分页,日历等展示效果的业务需求,对于接触过jQuery以及熟悉jQuery使用的人来说,首先想到的肯定是寻找现有的jQuery插件来满足相应的展示需求.目前页面中常用的一些组件,都有多种jQuery插件可供选择,网络上也有很多专门收集jQuery插件的网站.利用jQuery插件确实可以给我们的开发工作带来便捷,但是如果只是会简单使用,而对其中的原理不甚了解,那么在使用过程中碰到问题或者对插件进行定制开发时就会有诸多疑惑.本文的目的就是可以快速了解jQuery插件

编写基于jQuery的插件的方法

注意:jQuery中有一个extend的方法,这个方法是添加js对象字段的,下面会多次用到 1:添加全局类的方法 常用的ajax就是该类插件,下面要编写一个简单的加法和减法的基于jQuery的方法 1 $.extend({ 2 add:function(a,b){return a+b;}, 3 minus:function(a,b){return a-b;} 4 }); 5 6 var i= $.add(100,200); 7 var j= $.minus(100,200); 8 alert(i

jquery.validate.js插件的使用方法

近期做项目.须要用到 jQuery.validate.js插件,于是记录一下工作中的一些经验,以便日后学习. [样例例如以下] 1.前台页面 <form id="form1" method="post"> username:<input type="text" id="UserName" name="UserName" /><!--<span id="name_

jquery编写插件的方法

版权声明:作者原创,转载请注明出处! 编写插件的两种方式: 1.类级别开发插件(1%) 2.对象级别开发(99%) 类级别的静态开发就是给jquery添加静态方法,三种方式 1.添加新的全局函数 2.使用$.extend(obj) 3.使用命名空间 类级别开发插件(用的非常少,1%) 分别举例: //1.直接给jquer添加全局函数 jQuery.myAlert=function (str) { alert(str); }; //2.用extend()方法.extend是jquery提供的一个方

Jquery进度条插件 Progress Bar插件应用方法

搞的我小纠结了一会,最后感谢同事分享文章,得以结局,呵呵,小经验还是要保存的个人使用总结: <script type="text/ 网页特效" src="/Scripts/jquery-1.4.4.min.js"></script> <script type="text/javascript" src="/Scripts/Method/jquery.progressbar.min.js">&

jQuery插件制作方法详解

jQuery插件制作方法详解 jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加 上Jtip,并引入jtip.js及其样式即可以了.其他事情插件全包.我喜欢jquery的一个重要原因是发现她已经有了很多很好,很精彩的插件.写一 个自己的jQuery插件是非常容易的,如果你按照下面的原则来做,可以让其他人也容易地结合使用你的插件. jquery插件给我的感觉清一色的清洁,简单.如Jtip,要使用它的功能,只需要在你的元素的class上加上Jt

编写jQuery插件的方法

声明:详细内容请看<<锋利的jquery>>这本书 这里没对自定义选择器作介绍 因为我感觉jQuery已经为我们定义足够的选择器已经满足使用 <!DOCTYPE html> <html > <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>编写jquery插件<