Javascript 基于下拉值设置本地存储

Javascript 基于下拉值设置本地存储,javascript,html,Javascript,Html,如何根据下拉选择的值设置localstorage项的值 <select id="theme" onchange=""> <option value="simple">Simple</option> <option value="black">Black</option> <option value="blood">Blood</option&

如何根据下拉选择的值设置localstorage项的值

   <select id="theme" onchange="">
            <option value="simple">Simple</option>
            <option value="black">Black</option>
            <option value="blood">Blood</option>
            <option value="beige">Beige</option>
            <!-- <option value="default">Default</option> -->
            <option value="league">League</option>
            <option value="moon">Moon</option>
            <option value="night">Night</option>
            <option value="serif">Serif</option>
            <option value="sky">Sky</option>
            <option value="solarized">Solarized</option>
        </select>

简单的
黑色
血
米色
联盟
月亮
夜
衬线
天空
过度曝光

您可以像这样在更改处理程序上设置值:

var selectTheme = document.getElementById('theme');

selectTheme.addEventListener('change', function(){
    localStorage.setItem('theme', this.value);
});
或者干脆

localStorage.setItem('theme', selectTheme.value);

这似乎暂时有效

function setTheme(themeOp){
    var Themelink = document.getElementById('ppt').contentWindow.document.getElementById('theme');


var e = document.getElementById("theme");
var option = e.options[e.selectedIndex].value;
localStorage['value'] = option;
console.log('The selected value is: ' + localStorage['value']);

    console.log (localStorage.theme);
    if (Themelink){
        Themelink.setAttribute('href','http://myurl/css/theme/' + localStorage['value'] + '.css'); 
    }
}
这对我有用

 <select id="theme" onchange="">
        <option value="simple">Simple</option>
        <option value="black">Black</option>
        <option value="blood">Blood</option>
        <option value="beige">Beige</option>
        <!-- <option value="default">Default</option> -->
        <option value="league">League</option>
        <option value="moon">Moon</option>
        <option value="night">Night</option>
        <option value="serif">Serif</option>
        <option value="sky">Sky</option>
        <option value="solarized">Solarized</option>
    </select>

到目前为止,您尝试了什么?我的想法是这样的:localStorage.setItem(“theme”,themeOp);但在函数中,将值传递给该函数。我不知道当它被设置后我将如何更新它。A1rPun的版本更好:)更改后的效果很好,并且setItem比使用localStorage['value']='bla'更好;嘿,Drew,感谢您分享您的解决方案,但通常不这么做;)请接受对您帮助最大的答案。不工作请使用来显示您的脚本示例
 <select id="theme" onchange="">
        <option value="simple">Simple</option>
        <option value="black">Black</option>
        <option value="blood">Blood</option>
        <option value="beige">Beige</option>
        <!-- <option value="default">Default</option> -->
        <option value="league">League</option>
        <option value="moon">Moon</option>
        <option value="night">Night</option>
        <option value="serif">Serif</option>
        <option value="sky">Sky</option>
        <option value="solarized">Solarized</option>
    </select>
$(function(){

    $('#theme').change(function() {
      var locationName = $('#theme option:selected').val();
      localStorage.setItem('locationName', locationName);

    });
});