我正在使用the jWizard jQuery plugin在我的应用程序中实现向导。
按照我的要求,我在向导中总共有四个步骤
在第一步(选择配置)中,我只有两个复选框,用户可以将其标记为已选中。每个复选框代表一个配置。然后,用户可以选择它们中的一个或两个。 因此,例如,如果用户只选择“配置A”复选框,我需要隐藏向导中的第3步。 在同样的情况下,如果用户选中这两个框,我需要先显示stepp 2,然后再显示向导的第3步。
有没有办法用jWizard插件实现这种行为?
非常感谢您的帮助。
答案 0 :(得分:4)
正如在另一个答案中所提到的,目前没有办法使用jWizard的常规功能来实现这一点。所以,如果你需要这样做,你必须自己实现它。你有几个选择。
一个选项是,您可以要求他们在启动向导之前选择A和/或B ,并基于此启动三个不同向导中的一个(A& B,A,B) 。您也可以在启动向导之前从DOM中删除步骤元素。
合并步骤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
个活动可用。)
答案 1 :(得分: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 () {
我没有注意到任何管理该集合的方法。让我们回家,功能很快就会出现。