好吧,我正在使用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>
感謝您花時間回覆。我其實是想做正好相反的事情。清除javascript功能並在用戶離開頁面後立即重置複選框。有關於此的任何想法? – user3328529
我編輯了答案,這看起來更好嗎? – Tib51