如何获取jQuery步骤向导中的当前步骤?

时间:2015-02-09 19:18:19

标签: jquery jquery-steps

正如标题所说,我正在寻找一种方法来获取我的jQuery向导中的当前步骤。如果当前步骤是步骤1,我想执行一个操作。

有什么想法吗?

6 个答案:

答案 0 :(得分:4)

这会将当前步骤索引作为整数返回。

$("#wizard").steps("getCurrentIndex");

此步骤索引从零开始。

所以,要在第一步(我认为你的意思是"步骤1和#34;)执行操作,你会这样做:

if ( $("#wizard").steps("getCurrentIndex") == 0 ) {
    perform_action();
}

参考:https://github.com/rstaib/jquery-steps/wiki/Methods

答案 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");

对于旧版本。