PHP経由で表示される一部のアイテムをフィルタリングするために、一連のチェックボックスで実行されるjavascriptがあります。
誰かが情報をフィルタリングしてアイテムをクリックすると、そのアイテムの説明が表示されます。私の問題は、フィルタリングが既になくなっているため、そのユーザーがブラウザーの [戻る] ボタンをクリックしたときです。
これは、私のスクリプトが .php をロードするが、DIV 内でしかロードしないために発生します (したがって、ページ全体をリロードする必要はありません)。これは、送信した変数が URL レベルではなく DIV レベルで読み込まれることを意味します。そのため、特定の製品の説明に移動してから戻ると、それらの変数はもう存在せず、フィルタリングはなくなります。
これが私のJSです:
$(function() {
$("input[type='checkbox']").on('change', function() {
var boxes = [];
// You could save a little time and space by doing this:
var name = this.name;
// critical change on next line
$("input[type='checkbox'][name='"+this.name+"']:checked").each(function() {
boxes.push(this.value);
});
if (boxes.length) {
$(".loadingItems").fadeIn(300);
// Change the name here as well
$(".indexMain").load('indexMain.php?categ=<?php echo $category; ?>&'+this.name+'=' + boxes.join("+"),
function() {
$(".indexMain").fadeIn('slow');
$(".loadingItems").fadeOut(300);
});
} else {
$(".loadingItems").fadeIn(300);
$(".indexMain").load('indexMain.php?categ=<?php echo $category; ?>', function() {
$(".indexMain").fadeIn('slow');
$(".loadingItems").fadeOut(300);
});
}
});
});
これを解決するアイデアはありますか?