2014-02-21 56 views
0

好吧,我正在使用JQUERY創建移動應用程序。這個應用程序有一個功能,個人可以參加評估考試,獲得「真實」答案的數量,然後看到他們的診斷DIV。JQUERY&Javascript轉到單獨的函數或清除變量

在這種情況下,我有隱藏和顯示的DIV和合計數字或複選框檢查的JavaScript。

我的問題:如果我在一頁上完成評估,進入另一個評估頁面,總計顯示上次評估的總數。

我需要找到一種方法,既可以爲頁面定義函數,也可以在評估關閉後清除值。我還沒有弄清楚。我相信答案非常簡單直接。我真的很感謝這個幫助!

這裏是我的javascript:在HTML的

// The classes pertain to the DIVs that are shown or hid 
//count is the total of checked boxes that is listed in the total text box 

$(document).ready(function() { 
$("#class1").hide(); 
$("#class2").hide(); 
$("#class3").hide(); 
$("input[type='checkbox']").click(function() { 
    var count = 0; 
    $("input[type='checkbox']").each(function() { 
     count += $(this).is(":checked") ? 1 : 0; 
    }); 
    $("#class1").hide(); 
    count > 0 && count < 3 ? $("#class1").show().parent().show() 
    : count > 2 && count < 9 ? $("#class2").show().parent().show() 
    : count > 8 && count < 26 ? $("#class3").show().parent().show() 
    : false; 
    $("#TotalCheckedid").val(count); 

    $("#class2").hide(); 
    count > 0 && count < 3 ? $("#class1").show().parent().show() 
    : count > 2 && count < 9 ? $("#class2").show().parent().show() 
    : count > 8 && count < 26 ? $("#class3").show().parent().show() 
    : false; 
    $("#TotalCheckedid").val(count); 

    $("#class3").hide(); 
    count > 0 && count < 3 ? $("#class1").show().parent().show() 
    : count > 2 && count < 9 ? $("#class2").show().parent().show() 
    : count > 8 && count < 26 ? $("#class3").show().parent().show() 
    : false; 
    $("#TotalCheckedid").val(count); 
}); 
}); 



$(document).ready(function() { 
$("#class4").hide(); 
$("#class5").hide(); 
$("#class6").hide(); 
$("input[type='checkbox']").click(function() { 
    var count2 = 0; 
    $("input[type='checkbox']").each(function() { 
     count2 += $(this).is(":checked") ? 1 : 0; 
    }); 
    $("#class4").hide(); 
    count2 > 0 && count2 < 3 ? $("#class4").show().parent().show() 
    : count2 > 2 && count2 < 9 ? $("#class5").show().parent().show() 
    : count2 > 8 && count2 < 26 ? $("#class6").show().parent().show() 
    : false; 
    $("#TotalCheckedidB").val(count2); 

    $("#class5").hide(); 
    count2 > 0 && count2 < 3 ? $("#class4").show().parent().show() 
    : count2 > 2 && count2 < 9 ? $("#class5").show().parent().show() 
    : count2 > 8 && count2 < 26 ? $("#class6").show().parent().show() 
    : false; 
    $("#TotalCheckedidB").val(count2); 

    $("#class6").hide(); 
    count2 > 0 && count2 < 3 ? $("#class4").show().parent().show() 
    : count2 > 2 && count2 < 9 ? $("#class5").show().parent().show() 
    : count2 > 8 && count2 < 26 ? $("#class6").show().parent().show() 
    : false; 
    $("#TotalCheckedidB").val(count2); 
}); 
}); 

// 

$(document).ready(function() { 
$("#class7").hide(); 
$("#class8").hide(); 
$("#class9").hide(); 
$("input[type='checkbox']").click(function() { 
    var count3 = 0; 
    $("input[type='checkbox']").each(function() { 
     count3 += $(this).is(":checked") ? 1 : 0; 
    }); 
    $("#class7").hide(); 
    count3 > 0 && count3 < 3 ? $("#class7").show().parent().show() 
    : count3 > 2 && count3 < 9 ? $("#class8").show().parent().show() 
    : count3 > 8 && count3 < 26 ? $("#class9").show().parent().show() 
    : false; 
    $("#TotalCheckedidC").val(count3); 

    $("#class8").hide(); 
    count3 > 0 && count3 < 3 ? $("#class7").show().parent().show() 
    : count3 > 2 && count3 < 9 ? $("#class8").show().parent().show() 
    : count3 > 8 && count3 < 26 ? $("#class9").show().parent().show() 
    : false; 
    $("#TotalCheckedidC").val(count3); 

    $("#class8").hide(); 
    count3 > 0 && count3 < 3 ? $("#class7").show().parent().show() 
    : count3 > 2 && count3 < 9 ? $("#class8").show().parent().show() 
    : count3 > 8 && count3 < 26 ? $("#class9").show().parent().show() 
    : false; 
    $("#TotalCheckedidC").val(count3); 
}); 
}); 

例子:

<div data-role="content"> 
    <div data-role="fieldcontain"> 
     <fieldset data-role="controlgroup"> 

     <input type="checkbox" name="checkbox2_22" id="checkbox2_22" class="checkboxB" value="1" /> 
      <label for="checkbox2_22"></label> 
     <input type="checkbox" name="checkbox2_23" id="checkbox2_23" class="checkboxB" value="1" /> 
      <label for="checkbox2_23"></label> 

      <input type="checkbox" name="checkbox2_24" id="checkbox2_24" class="checkboxB" value="1" /> 
      <label for="checkbox2_24"></label> 

      <input type="checkbox" name="checkbox2_25" id="checkbox2_25" class="checkboxB" value="1" /> 
      <label for="checkbox2_25"></label> 

     </fieldset> 
     <p>Total<input type="text" name"TotalChecked" id="TotalCheckedidB" size"10" readonly="readonly" /></p> 
    </div> 
    <div data-role="collapsibleset" data-theme="a" data-content-theme="a"> 

     <div data-role="collapsible" class="class4" id="class4"> 
      <h3> Total 0 - 2 </h3> 
     <p> If you indicted "yes" on less than three questions then you may not have a problem with alcohol </p> 
     </div></div> 
    <div data-role="collapsible" class="class5" id="class5"> 
     <h3> Total 3 - 8 </h3> 
     <p> If you scored between 3 - 8 you are showing signs of possible alcohol dependence and should consider meeting with a professional who can further evaluate your alcohol problems. </p> 
     </div> 
    <div data-role="collapsible"class="class6" id="class6"> 
    <h3> Total 9 - 25 </h3> 
    <p> If you answered "yes" to more than 8 questions then you may have a serious level of alcohol-related problems requiring treatment. You should seek immediate professional guidance. </p> 
    </div>   
    </div> 

回答

0

看樣子,你有興趣的方式來存儲值,這很可能是對的類型是非常有用你正在開發的測驗/評分程序。 我可以建議在這裏查看本地存儲(和其他存儲選項):https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Storage?redirectlocale=en-US&redirectslug=Web%2FGuide%2FDOM%2FStorage

您可以爲您感興趣的變量指定特定的鍵,然後隨時加載它們。

- 編輯:現在我明白你的意思了。 我自己是初學者,但這個怎麼樣? javascript before leaving the page 它建議使用onunload,在這個函數中你應該能夠重置變量。

+0

感謝您花時間回覆。我其實是想做正好相反的事情。清除javascript功能並在用戶離開頁面後立即重置複選框。有關於此的任何想法? – user3328529

+0

我編輯了答案,這看起來更好嗎? – Tib51

相關問題