3

jquery smartwizardを使用 しています ユーザーが「作成」という名前のボタンをクリックすると、ウィザードがダイアログで開きます。ユーザーがボタンをもう一度クリックすると、ウィザードをリセットして新しいウィザードを開始したいのですが、その状態が保持されます。再初期化すると、次へ、前へ、終了ボタンが再び追加され、ウィザード UI 全体が台無しになります。スマートウィザードをリセットする方法はありますか?

4

3 に答える 3

6

ウィザード リセット public メソッドは、最新の Smart Wizard 4 に含まれてい ます。例を参照してください

$('#smartwizard').smartWizard("reset"); 

この関数を呼び出すと、ウィザードが初期のデフォルト状態にリセットされます。

于 2016-11-01T10:25:50.487 に答える
3

使用しているダイアログに応じて、次のことを行う必要があると思います。

  1. 非表示になっているウィザード要素のテンプレートを作成します
  2. ダイアログ(onOpen)を開いたら、要素のクローンを作成し、smartwizardを適用します
  3. ダイアログを閉じたら、複製した要素を削除します。

カラーボックスを使用したデモは次のとおりです。

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
                });
            }
        });
于 2012-06-12T21:16:28.247 に答える
1

これは私にとってはうまくいくようです(コーヒースクリプトでは、しかしあなたはアイデアを得るでしょう)。

numSteps = 5
wizardDiv.smartWizard('goToStep', 1)
# disable all the following steps
for i in [2..numSteps]
    wizardDiv.smartWizard('disableStep', i)

ウィザード自体でデータを消去または保持するかどうかは、ユーザー次第です。

于 2016-01-10T00:29:36.940 に答える