您的位置:首页 > Web前端 > JQuery

jquery的smartWizard插件使用方法

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

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

html中代码如下:

[html] view
plaincopyprint?





<!--html 中 -->

<div id="sfxxdj_div" class="swMain">

<ul id="sfxxdj_wizard_ul">

<li><a href="#sfxxdj_step_1"> <label class="stepNumber">1</label>

<span class="stepDesc">选择身份类型</span> </a>

</li>

<li><a href="#sfxxdj_step_2"> <label class="stepNumber">1</label>

<span class="stepDesc">基本信息表</span> </a>

</li>

<li><a href="#sfxxdj_step_3"> <label class="stepNumber">2</label>

<span class="stepDesc">学历情况表</span> </a>

</li>

<li><a href="#sfxxdj_step_4"> <label class="stepNumber">3</label>

<span class="stepDesc">工作情况表</span> </a>

</li>



</ul>

<div id="sfxxdj_step_1" style="overflow: auto;">

<table cellpadding="0" cellspacing="0" border="0" class="wi-frm-tbl" style="width:100%; height:500px;line-height:50px">

<th valign="top"><h1>请选择身份类型:</h1></br>

<h1><input type="radio" name="jjdj_lx" id="jjdj_ctgs" value="1">

公司</h1></br>

<h1><input type="radio" name="jjdj_lx" id="jjdj_glgs" value="3">

个人</h1></th>



</table>

</div>

<div id="sfxxdj_step_2" style="overflow: auto;">

<!--内容可直接在这加入,如果内容过大可直接载入html -->

</div>

<div id="sfxxdj_step_3" style="overflow: auto;">

</div>

<div id="sfxxdj_step_4" style="overflow: auto;">

</div>

</div>

<!-- End SmartWizard Content -->

js代码如下:

[javascript] view
plaincopyprint?





var sfxxdj = {

//当点下一步时回调该函数,一般用于当前步骤的校验

nextStepCallback : function(stepObj){

var step_num= stepObj.attr('rel');

switch (step_num) {

case '1':

if($('input[name=jjdj_lx]:checked').val()>0){

sfxxdj.jjlx = $('input[name=jjdj_lx]:checked').val();

if(sfxxdj.jjlx=='1'){

$('#sfxxdj_wizard_ul [rel=5]').hide();

$('#sfxxdj_step_5').hide();

}else{

$('#sfxxdj_wizard_ul [rel=2]').hide();

}

return true;//转下一步

}

else{

alert("请选择基金登记类型!");

return false;

}

case '2':

if(sfxxdj.jjlx=='1'&&$("#sfxxdj_jbqkb_jjmc").val()==''){

alert("请输入基金名称!");

return false;

}else{

sfxxdj.jjmc=$("#sfxxdj_jbqkb_jjmc").val();

}

return true;

case '3':

return true;

case '4':

return true;

case '5':

return true;

case '6':

default:

break;

}

return true;

},

//当现实该步骤时回调该函数,一般用于当前步骤的初始化

showStepCallback : function(stepObj){

var step_num= stepObj.attr('rel');

switch (step_num) {

case '2':

break;

case '3':

break;

case '4':

$("#jjxmmc").text(sfxxdj.jjmc);

if(sfxxdj.jjlx=="1"){

$('#div .actionBar a.buttonFinish').removeClass("buttonDisabled");

$('#div .actionBar a.buttonNext').addClass("buttonDisabled");

}

break;

case '5':

if(sfxxdj.b4=="0"){

settWtjj();

}

break;

case '6':

break;

default:

break;

}

}

}



$(function(){

//对象初始化,以及设定相关回调时间

$('#sfxxdj_div').smartWizard({

keyNavigation: false,

onFinish : sfxxdj.onSubmit,

onNextStep : sfxxdj.nextStepCallback,

onShowStep : sfxxdj.showStepCallback

});

$( ".actionBar a" ).button();

//文件形式初始化各步骤的内容

$('#sfxxdj_step_2').html("").load('jbqkb.html');

$('#sfxxdj_step_3').html("").load('xlqkb.html');

$('#sfxxdj_step_4').html("").load('gzqkb.html');

}

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

[javascript] view
plaincopyprint?





$('.actionBar a.buttonFinish').removeClass("buttonDisabled");//提交按钮可用

$('.actionBar a.buttonFinish').addClass("buttonDisabled");//提交按钮变灰

$('.actionBar a.buttonNext').removeClass("buttonDisabled");//下一步按钮可用

$('.actionBar a.buttonNext').addClass("buttonDisabled");//下一步按钮变灰

$('.actionBar a.buttonPrevious').removeClass("buttonDisabled");//上一步按钮可用

$('.actionBar a.buttonPrevious').addClass("buttonDisabled");//上一步按钮变灰

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

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

[javascript] view
plaincopyprint?





$('#sfxxdj_wizard_ul [rel=4]').attr("isDone",1);

$('#sfxxdj_wizard_ul [rel=4]').addClass("done").removeClass("disabled");

这样不管你进行的是否做到第四步,都可以点击查看第四步的内容。

比如某些时候我们需要从第一步调转到第三步:

[javascript] view
plaincopyprint?





$('#sfxxdj_div').smartWizard('skipTo',3);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: