我正在使用jquery smartwizard当用户单击名为"创建"的按钮时,我的向导将在对话框中打开。当用户再次单击该按钮时,我希望向导重置并启动一个新的向导,但它保留其状态。如果我重新初始化它,那么它会再次添加下一个、上一个和完成按钮,并弄乱整个向导 UI。任何想法如何重置智能向导?
重置公共方法包含在最新的智能向导 4 中,请参阅示例。
$('#smartwizard').smartWizard("reset");
调用此函数会将向导重置为初始默认状态。
根据您使用的对话框,我认为您需要执行以下操作:
- 为隐藏的向导元素创建模板
- 打开对话框 (onOpen) 时,克隆元素并应用智能向导
- 关闭对话框后,删除已克隆的元素。
下面是一个使用colorbox的演示:
http://jsfiddle.net/lucuma/Kn2ud/4/
编辑:由于小提琴由于创建时库的移动而不再工作,因此代码如下:
$("button").colorbox({
inline: true,
open: true,
width: "1000px",
href: '.inline',
onClosed: function() {
$('.inline .swMain').remove();
},
onOpen: function() {
$('.template').clone().removeClass('template').appendTo('.inline').smartWizard({
transitionEffect: 'slideleft',
onFinish: onFinishCallback
});
}
});
这似乎对我有用(在咖啡脚本中,但你明白了)。
numSteps = 5
wizardDiv.smartWizard('goToStep', 1)
# disable all the following steps
for i in [2..numSteps]
wizardDiv.smartWizard('disableStep', i)
清除或保留向导本身中的任何数据取决于您。