私は最近、Jquery Steps を使用してクライアント向けの葬儀費用計算ツールを作成しました。
ツールのフォームは非常に複雑で、特定のフォーム オプションが選択されているかどうかによっていくつかのステップが異なります。
ラジオボタンの「オンチェンジ」をトリガーする「挿入」および「削除」メソッドを使用して、自分でこれに対応することができました。ユーザーが死亡したことを選択すると、7 つのステップがあります。ユーザーが死亡していないことを選択すると、 5 つのステップがあります (添付の画像を参照)。(サンプルコードについては、以下を参照してください)
ステップはインデックス 4 で挿入および削除されます。ユーザーがオプション間を行ったり来たりすると、2 が挿入されてから 2 が削除され、2 が挿入されてから 2 が削除されます。
同様の条件を適用する必要があるフォームにさらに進むと、問題が発生しました。ただし、この時点でステップ数を予測できなかったため、挿入または削除するインデックスを具体的にターゲットにできないことがわかりました (ユーザーの以前の選択に基づいているため、上記を参照)。
私のjavascriptの知識は限られているので、途方に暮れています。それを機能させるために必要なロジックは知っていますが、それを実装する方法がわかりません。
javascript/jquery を使用して (最後のステップをターゲットにするために) ステップ数をカウントし、現在のステップをターゲットにする方法を知りたいです。もちろん、誰かが提案できるより簡単な方法またはより良い方法がない限り.
私はこれについて頭を悩ませてきましたが、どんな助けもいただければ幸いです。ありがとうございました!
<input type="radio" name="deathOccurred" rel="death-occured-yes" value="Yes" class="required" onclick="calculateTotal()" onchange="$('#estimator-form').steps('insert', 4, {
title: 'Clergy/Celebrant',
content: '<STEP HTML HERE>'
});
$('#estimator-form').steps('insert', 5, {
title: 'Other options',
content: '<STEP HTML HERE>'
/> Yes
<input type="radio" name="deathOccurred" rel="death-occured-no" value="No" checked onclick="calculateTotal()" onchange="$('#estimator-form').steps('remove', 5, {}); $('#estimator-form').steps('remove', 4, {});" /> No