5

我正在使用jWizard jQuery 插件在我的应用程序中实现向导。

站在我的要求上,我在向导中总共有四个步骤

  1. 选择配置
  2. A的配置
  3. B的配置
  4. 摘要页面

在第一步(选择配置)中,我只有两个复选框,用户可以将其标记为选中。每个复选框都代表一个配置。然后用户可以选择其中之一或两者。因此,例如,如果用户只选择“配置 A”复选框,我需要从向导中隐藏第 3 步。在同样的情况下,如果用户同时选中这两个框,我需要先显示向导的第 2 步,然后再显示第 3 步。

有没有办法使用 jWizard 插件实现这种行为?

非常感谢您的帮助。

4

2 回答 2

4

正如另一个答案中提到的,目前没有办法使用 jWizard 的正常功能来做到这一点。所以,如果你需要这样做,你必须自己实现它。你有几个选择。

先问

一种选择是您可以要求他们在启动向导之前选择 A 和/或 B ,并基于此启动三个不同的向导(A 和 B、A、B)之一。您还可以在启动向导之前从 DOM 中删除 step 元素。

将 A 和 B 放在一个页面上并隐藏不需要的页面

合并第 2 步和第 3 步。然后,根据您在第 1 步中的选择,使用 jQuery 在现在的第 2 步中隐藏/显示部分 A 和 B:

$('#checkboxa').click(function () {
         var $this = $(this);
         if ($this.is(':checked')) {
             $('#sectiona').hide();
         } else {
             $('#sectiona').show();
         }
     });

自己写逻辑

我希望我能给你一个更好的答案,因为它似乎是你正在寻找的东西,但是很难从 jWizard 文档中说出如何完成这个。您可以尝试从向导中完全删除一个步骤(如果用户改变主意,则重新插入它)或通过触发next事件(或click如果没有next可用事件则为事件)手动“跳过”一个步骤。

于 2013-10-30T17:48:05.597 回答
2

您正在寻找的功能尚未实现。顺便说一句,我也在等待那个功能。

在此处输入图像描述

就目前而言,框架只是收集了构建阶段的所有步骤:

   /**
     * Initializes the step collection.
     *
     * Any direct children <div> (with a title or data-jwizard-title attr)
     * or <fieldset> (with a <legend>) are considered steps, and there should
     * be no other sibling elements.
     *
     * Lastly, a <div class"jw-steps-wrap"> is wrapped around all the steps to
     * isolate them from the rest of the widget.
     */
    _buildSteps: function () {

我没有注意到任何管理该集合的方法。所以让我们回家吧,功能很快就会出现。

于 2013-10-28T17:09:52.040 回答