2013-02-15 95 views
0

我需要能夠更改域變量(或者如果它尚未設置,請設置它),然後重新加載頁面。我不在乎頁面是否重新加載,實際上我需要重新加載。如何使用jQuery更改域名地址變量?

例如,如果用戶在頁面上:sample.com/demo?theme=theme1 並且他們從下拉列表中選擇一個新主題我想更改主題變量以瀏覽瀏覽器到新的同一頁面域變量,所以在這種情況下,sample.com/demo?theme=newtheme。

我不能只是做一個標準的重定向,因爲我不希望他們只是去主頁我希望他們留在當前頁面只是讓變量改變。舉例來說,如果他們在這裏:sample.com/demo/aboutus?theme=theme1那麼他們將被送到這裏:sample.com/demo/aboutus?theme=newtheme

+2

*如果頁面其實並沒有重裝我不在乎我需要重新加載*這似乎並沒有什麼意義;你想要重新加載嗎? – 2013-02-15 16:34:59

回答

1

一個簡單的正則表達式會做:

window.location = window.location.url.replace(/(\?|&)theme=[^&]+/, '$1theme=newtheme'); 
-1

只是讓你的錨標記相對:

<a href="?theme=theme1">Theme 1</a> 
<a href="?theme=theme2">Theme 2</a> 
<a href="?theme=theme3">Theme 3</a> 

唯一的缺點是目前的查詢字符串將完全取代新的,如果這是一個問題。

這當然可以用JavaScript也這樣做:

window.location = "?theme=theme1"; 
//window.location = "?theme=theme2"; 
//window.location = "?theme=theme3"; 
+0

javascript部分非常棒!謝謝! – user1571520 2013-02-15 16:41:42