我花了几个小时试图让这个今天工作。使用该.formwizard("show","new_step")
方法跳过步骤对我不起作用。我无法阻止转换到第 3 步并在.bind("step_shown",function(){...})
方法中覆盖到我的表单的第 4 步,因此我使用了隐藏输入“链接”类方法。当为免费或付费帐户选择某个单选按钮(在第 2 步上)时,我嵌入了一个隐藏字段,这意味着可以完全跳过第 3 步(免费帐户不需要计费详细信息)。我确定了跳转到在隐藏输入上使用“链接”类的步骤。
DOM 具有以下字段,位于当前可见步骤的 div 中:
<input type="hidden" id="jump_to_fourth_step" value="fourthStep">
javascript具有以下内容:
$('input[name="account_type"]').click(function() {
//add "link" class to jump to last step and hide billing fields in summary
if($(this).attr("is_free")==true) {
$("#jump_to_fourth_step").addClass("link");
$(".billing_info").hide();
}
//remove class "link" from input and show billing fields in summary
else {
$('#jump_to_fourth_step').removeClass("link");
$(".billing_info").show();
}
});
请注意,此代码仅在步骤 2 上运行,因为单选按钮仅在那时可用。选择免费帐户后点击“下一步”成功跳过第 3 步,如果在第 4 步使用后退按钮,则用户返回第 2 步。如果用户决定他们想要一个付费帐户并返回第 2 步2 标记为这样,隐藏的输入被删除,再次导致下一步显示步骤 3(并且计费信息将显示在摘要页面上)。
它没有很好的记录,但是一旦单击“下一步”按钮,插件将转到当前步骤的活动输入的“值”属性中的任何步骤。如上所示,值为fourthStep
。而且,为了彻底,我刚刚测试过并且可以跳过任意数量的步骤,并且后退按钮会正确地让你回到正确的位置。