JavaScriptを使用して「ウィザード」を作成し、人々の回答に基づいて特定の結果のdivに移動しました。それは私が望むように動作しますが、このコードは非常に繰り返します。このJavaScriptコードをクリーンアップする方法はありますか?繰り返しJavaScriptコードをクリーンアップ
$(".hidden").hide();
$(function() {
$("#start_button").click(function(){
$("#wizard_start").hide();
$("#Q1").show();
});
$("#reset").click(function(){
$("#wizard_start").show();
$(".hidden").hide();
$(":input").not(":button, :submit, :reset, :hidden").each(function() {
this.value = this.defaultValue;
});
});
$("#q1_button").click(function(){
if ($("input[value='q1_1']:checked").val()){
$("#Q2").show();
$("#Q1").hide();
}
else if ($("input[value='q1_2']:checked").val()) {
$("#results1").show();
$("#Q1").hide();
}
else if ($("input[value='q1_3']:checked").val()) {
$("#Q3").show();
$("#Q1").hide();
}
});
$("#q2_button").click(function(){
if ($("input[value='q2_1']:checked").val()){
$("#results2").show();
$("#Q2").hide();
}
else {
$("#results3").show();
$("#Q2").hide();
}
});
$("#q3_button").click(function(){
if ($("input[value='q3_1']:checked").val()){
$("#Q4").show();
$("#Q3").hide();
}
else {
$("#results1").show();
$("#Q3").hide();
}
});
$("#q4_button").click(function(){
if ($("input[value='q4_1']:checked").val()){
$("#Q5").show();
$("#Q4").hide();
}
else {
$("#Q6").show();
$("#Q4").hide();
}
});
$("#q5_button").click(function(){
if ($("input[value='q5_1']:checked").val()){
$("#results4").show();
$("#Q5").hide();
}
else {
$("#Q7").show();
$("#Q5").hide();
}
});
$("#q6_button").click(function(){
if ($("input[value='q6_1']:checked").val()){
$("#Q8").show();
$("#Q6").hide();
}
else {
$("#Q9").show();
$("#Q6").hide();
}
});
$("#q7_button").click(function(){
if ($("input[value='q7_1']:checked").val()){
$("#results4").show();
$("#Q7").hide();
}
else {
$("#results5").show();
$("#Q7").hide();
}
});
$("#q8_button").click(function(){
if ($("input[value='q8_1']:checked").val()){
$("#results6").show();
$("#Q8").hide();
}
else {
$("#results7").show();
$("#Q8").hide();
}
});
$("#q9_button").click(function(){
if ($("input[value='q9_1']:checked").val()){
$("#results8").show();
$("#Q9").hide();
}
else if ($("input[value='q9_2']:checked").val()) {
$("#Q10").show();
$("#Q9").hide();
}
else if ($("input[value='q9_3']:checked").val()) {
$("#results3").show();
$("#Q9").hide();
}
});
$("#q10_button").click(function(){
if ($("input[value='q10_1']:checked").val()){
$("#results9").show();
$("#Q10").hide();
}
else {
$("#results3").show();
$("#Q10").hide();
}
});
$("#q2_backbutton").click(function(){
$("#Q1").show();
$("#Q2").hide();
});
$("#q3_backbutton").click(function(){
$("#Q1").show();
$("#Q3").hide();
});
$("#q4_backbutton").click(function(){
$("#Q3").show();
$("#Q4").hide();
});
$("#q5_backbutton").click(function(){
$("#Q4").show();
$("#Q5").hide();
});
$("#q6_backbutton").click(function(){
$("#Q4").show();
$("#Q6").hide();
});
$("#q7_backbutton").click(function(){
$("#Q5").show();
$("#Q7").hide();
});
$("#q8_backbutton").click(function(){
$("#Q6").show();
$("#Q8").hide();
});
$("#q9_backbutton").click(function(){
$("#Q6").show();
$("#Q9").hide();
});
$("#q10_backbutton").click(function(){
$("#Q9").show();
$("#Q10").hide();
});
});
http://jsfiddle.net/dswinson/PXp7c/56/
また、戻って最初にあなたを取るとラジオボタンの全てをリセットした結果のdivタグのボタンを「開始に戻る」を追加する方法はありますか?
ありがとうございました!
ライブリンクは質問の素晴らしい*補助*ですが、質問に関連するコード*も(繰り返しても)投稿します。 2つの理由。 1.人々はあなたを助けるためにリンクをたどる必要はありません。 2. StackOverflowはあなただけのためのものではなく、今後同様の問題を抱える人のためのものです。外部リンクは、移動、変更、削除される可能性があります。関連するコードが問題になっていることを確認することによって、質問(およびその回答)が合理的な期間有効であることを保証します。 –
これは[codereview](http://codereview.stackexchange.com/)に属しているようです。 – user113716
質問に自分のコードを追加しましたが、リンクに感謝します。私はそこに私の質問を掲示します。 – Dawn