正如标题所说,我正在寻找一种方法来获取我的jQuery向导中的当前步骤。如果当前步骤是步骤1,我想执行一个操作。
有什么想法吗?
答案 0 :(得分:4)
这会将当前步骤索引作为整数返回。
$("#wizard").steps("getCurrentIndex");
此步骤索引从零开始。
所以,要在第一步(我认为你的意思是"步骤1和#34;)执行操作,你会这样做:
if ( $("#wizard").steps("getCurrentIndex") == 0 ) {
perform_action();
}
答案 1 :(得分:1)
有onStepChanging
and onStepChanged
个事件有currentIndex
个参数。您可以将操作放在函数中以处理任何这些事件。
答案 2 :(得分:1)
可以在以下下载位置找到的示例代码中找到答案:
https://github.com/rstaib/jquery-steps
以下是我发现有用的代码段:
// Example 1: Basic wizard with validation
$( "#example-1" ).wizard({
submit: ".submit",
beforeForward: function( event, state ) {
if ( state.stepIndex === 1 ) {
$("#name").text($("[name=name]").val());
} else if ( state.stepIndex === 2 ) {
$("#gender").text($("[name=gender]").val());
}
return $( this ).wizard( "form" ).valid();
}
}).wizard( "form" ).submit(function( event ) {
event.preventDefault();
alert( "Form submitted!" );
}).validate( validate );
答案 3 :(得分:0)
如果当前步骤为3,我使用此代码禁用步骤1和2,将此代码添加到jquery.steps.js
$.fn.steps.done = function () {
var wizard = this,
options = getOptions(this),
state = getState(this);
if(state.currentIndex == 2){
for (i = 0; i < 2; i++) {
var stepAnchor = getStepAnchor(wizard, i);
stepAnchor.parent().removeClass("done")._enableAria(false);
}
}
};
并将其添加到您的HTML
$("#wizard").steps('done');
答案 4 :(得分:0)
$('.selected').prop('rel')
对于SmartWizard 3.3.1,所选步骤始终具有class='selected'
。因此,使用该类,您可以根据要执行的操作进行操作。
答案 5 :(得分:0)
$("#wizard").smartWizard("currentStep");
对于旧版本。