2015-02-11 88 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