2015-02-11 82 views
0
<select id="country_name" onchange="changeCounty();"> 
<option value="IND"> IND</option> 
<option value="US">US</option> 
<option value="JP">JP</option> 
<option value="UK">UK</option> 
</select> 

我有上面的代碼。 當我選擇一個選項時,它會對頁面做一些更改。但是當我在瀏覽器的新選項卡中打開頁面時,已選擇的選項重置。和默認選擇的選項設置。我該如何處理這個?選定的選項未設置在新的瀏覽器窗口選項卡

+0

發佈你的java腳本 – 2015-02-11 12:14:53

+1

當您將在新選項卡中打開頁面時,它將被加載,就像它第一次加載一樣。所選擇的選項將會消失。 – void 2015-02-11 12:15:03

+0

您需要保存更改並使用更改來設置默認值。取決於2件事情,這可以通過幾種方式完成。 1.)當這個選項改變時,你想讓它改變使用該網站的每個人。或者2.)您只希望將這些更改應用於更改它們的用戶。如果你可以顯示更多的源代碼來顯示你設置值(保存)的任何嘗試,那將是很棒的。我們調試您的代碼,並幫助您瞭解問題並提供解決方案(如果有)。在這裏你沒有給我們足夠的信息或代碼來調試。 – NewToJS 2015-02-11 12:20:00

回答

0

您需要將值從一個頁面傳遞到另一個頁面,因爲製表符默認情況下是完全獨立的頁面。

一個解決辦法可能是(使用本地存儲)是這樣的:

// Save value when it is changed by user 
function changeCounty(){ 
    if(window.localStorage){ 
    var inputValue = document.getElementById('country_name').value 
    window.localStorage.set('mySavedValueName',inputValue) 
    } 
    //..your original code 
} 

// Load value if it exists 
window.addEventListener('load', function getContryFromLS(){ 
    if(window.localStorage){ 
    var lsvalue = window.localStorage.get('mySavedValueName') 
    if(lsvalue) 
     document.getElementById('country_name').value=lsvalue 
    } 
} 
0

HTML代碼

<select id="country_name" onchange="changeCounty(this);"> 
<option value="IND"> IND</option> 
<option value="US">US</option> 
<option value="JP">JP</option> 
<option value="UK">UK</option> 
</select> 

jQuery代碼

$(function(){ 
    var d=localStorage.getItem("selectval"); 
    if(d!=null){ 
     console.log(d); 
     $("#country_name").val(d); 
    } 
    $("#country_name").change(function(){ 
     localStorage.setItem("selectval",$(this).val()); 
    }); 

}); 

Demo Here