我已經使用下面的代碼來保留刷新頁面時下拉菜單的選擇。保留複選框狀態
$("#form_Selection > option").each(function() {
if (this.value == 'variable') {
this.selected=true;
}
});
我很難配置類似的代碼,刷新後將保留複選框的狀態。有任何想法嗎?
我已經使用下面的代碼來保留刷新頁面時下拉菜單的選擇。保留複選框狀態
$("#form_Selection > option").each(function() {
if (this.value == 'variable') {
this.selected=true;
}
});
我很難配置類似的代碼,刷新後將保留複選框的狀態。有任何想法嗎?
如何將下面的工作(我還沒有重新打印您的代碼的邏輯部分,只需設置複選框 $(this).attr('checked', true);
您應該實際使用.prop而不是.attr,如下面是@AlexStack。 –
用於將所有的複選框的狀態使用:checkbox和prop('checked'),您可以使用sessionStorage
:
$(':checkbox').each(function(index,element){
//save the 'checked' property of every checkbox
if ($(this).prop('checked')) {
sessionStorage['checked-checkboxes']=sessionStorage['checked-checkboxes'] + ',';
}
}
然後磨片n中的頁面加載:
var checkedCheckboxes = sessionStorage['checked-checkboxes'];
//if there's anything saved in the sessionStorage for checked checkboxes
if (checkedCheckboxes) {
var checkedCheckboxesNames = checkedCheckboxes.split(',');
for(var i=0; i < checkedCheckboxesNames; i++) {
$('#' + checkedCheckboxesNames[i]).prop('checked', true);
}
}
的想法很簡單:保存時,保存它保存在所有複選框的ID,並加載時,立刻獲得所有這些ID和設置的複選框。
當然,如果您想要永久存儲,您可以用localStorage
代替sessionStorage
。請注意:
我希望它能幫助:)
對於菜單,是不是'$(#form_Selection).VAL(可變)'更簡單? – Barmar
我在PHP中完成此操作的方式是將所有選項保存在數組中,如果選中(在$ _GET或$ _POST變量中),我將該選項放在頂部,因爲第一個選項出現在select框。 – bozdoz
此外,我可能會將該值另存爲帶有ajax的SESSION變量,並在提交表單後取消設置會話變量(如果需要) – bozdoz