我一直在努力幾個小時,聽起來很簡單。 我有一個複選框列表,如果複選框被選中,頁面URL將會改變(保存一個過濾器選項,所以你可以共享URL到過濾器)。除了一點,當用戶想要回去時,它完美地工作。複選框應該取消選中。基於網頁編輯複選框
使用jQuery
setBoxes()是函數;
我想:
function pageLoad() {
setBoxes();
}
而且
$(document).ready(function(){
setBoxes();
}
我也加入
window.onunload = function(){};
但是這些解決方案的工作(功能不運行,我檢查) 。
之後,我想我可以做到這一點與PHP(獲取網址到一個數組,如果在數組中回聲檢查),但PHP不會再次運行(我猜它的兌現)。
有沒有我可以嘗試的選擇,因爲我真的不能解決這個簡單的問題。
因爲我的代碼非常大我做了一個很小的例子http://jsfiddle.net/yzoztp05/1/的情況,更新jsfiddle中的url被阻塞,所以它不能完全工作。
爲了使情況更加清晰,我製作了一個視頻https://www.youtube.com/watch?v=jaSc1fmaJD4&feature=youtu.be。
代碼設置我的複選框
//convert the url to array
function getQueryVariable(variable)
{
var query = window.location.search.substring(1);
var vars = query.split("&");
for (var i=0;i<vars.length;i++) {
var pair = vars[i].split("=");
if(pair[0] == variable){return pair[1];}
}
return(false);
}
// Set the checkboxes to checked if they are in the array
function setBoxes()
{
var prijsUrl = getQueryVariable("prijs");
// first set all checkboxes on unchecked
$('.prijsFilterBox').prop('checked', false);
alert("Loaded");
if(prijsUrl != false)
{
var res = prijsUrl.split("-");
for(var i = 0; i < res.length; i++)
{
$('.prijsFilterBox[value='+res[i]+']').prop('checked', true);
console.log("prijs = "+res[i]);
}
}
else
{
console.log("prijs = null");
}
}
它的工作原理,如果我刷新頁面,但它不會當用戶按下後退按鈕上運行。如果它不能在頁面上運行JavaScript,我將嘗試使用php創建不同的腳本。
TLDR 如何在頁面後臺(所有瀏覽器)上運行jquery函數?
請添加一些代碼來說明您的問題 – Steve 2014-09-28 19:59:42
即時製作視頻,將很快添加 – 2014-09-28 20:18:36
視頻沒有幫助,'setBoxes()'的代碼在哪裏?它沒有做什麼? – charlietfl 2014-09-28 20:34:34