0
我有兩個跨度在從選擇菜單中選擇各自的選項時顯示或隱藏。默認情況下,CSS中的兩個跨度都設置爲display: none
。我希望在頁面重新加載之後保持任何當前可見的跨度的可見性(例如,在出現驗證錯誤的情況下)。如何在頁面重新加載後保持select-menu-toggle div的狀態?
我用一個複選框做了這個,很容易,但我不能用選擇菜單弄清楚它。
// Toggles the div based on selected option
$(function() {
$('#maintenanceIntervalId').change(function() {
var value = $('#maintenanceIntervalId option:selected').val()
switch(value) {
case "2": {
$("#weekly-maintenance-on").show();
$("#monthly-maintenance-on").hide();
break;
}
case "3": {
$("#monthly-maintenance-on").show();
$("#weekly-maintenance-on").hide();
break;
}
case "1": {
$("#weekly-maintenance-on").hide();
$("#monthly-maintenance-on").hide();
break;
}
}
});
});
上述工作如預期。但爲了得到當前可見的跨度留頁面重載後可見,我搬到switch語句到它自己的功能toggleMaintenanceDiv()
並添加以下行:
toggleMaintenanceDiv($('#maintenanceIntervalId option:selected'))
這是不行的,但是。
HTML:
<select id="maintenanceIntervalId">
<option value="1">Day</option>
<option value="2">Week</option>
<option value="3">Month</option>
</select>
<span id="weekly-maintenance-on">Stuff one</span>
<span id="monthly-maintenance-on">Stuff two</span>
在這種情況下,我不確定cookie是否必要。看看這個:http://stackoverflow.com/questions/8406336/how-do-you-maintain-the-state-of-a-checkbox-toggled-div-after-page-reload – Mohamad