如何在jStorage中保存选择列表选项

时间:2012-10-19 10:09:30

标签: javascript html jstorage

我有一个正在开发的应用程序(仍然)并且最近问了一个关于如何在JavaScript中保存选择列表选项的问题。从那时起我就被介绍到jStorage,这是我一直用于代码的jQuery的扩展。我想知道我是否可以更容易地在jStorage中保存所选值?我的选择列表的HTML代码如下;

<select name = 'job' id = 'job' style = 'width: auto; background-color: #777; color: white; font-size: 20px; border-color: #AAA;'>
 <option value = 'jobselect'>Select Profession</option>
 <option value = 'job1'>Mechanical Engineer</option>
 <option value = 'job2'>Software Engineer</option>
 <option value = 'jobother'>Other</option>
</select>

我在我的JavaScript文件中有这个来保存选定的值;

document.addEventListener('DOMContentLoaded', function ListChoice() {

    var input1 = document.getElementById('job');

    if (localStorage['job']) {  
        input1.value = localStorage['job'];
    }

    input1.onchange = function() {  
        localStorage['job'] = this.value;
    }

});

我的JS文件中有另外两个函数叫做 loadSettings saveSettings ,有没有办法改变上面的代码,将列表的选定值保存到jStorage在我的功能?只是想知道保存到jStorage是否更容易。非常感谢xx

1 个答案:

答案 0 :(得分:0)

注意:像http://garlicjs.org/之类的东西可能是解决问题的捷径。

不确定这是否可以帮助您,但您可以使用以下内容设置jstorage(我只是序列化整个表单):

$.jStorage.set('jobValues', $('#job').serializeArray());

然后你需要以如下方式遍历数组:

        var currentStorage = $.jStorage.get('jobValues');
        if (currentStorage) {
            $.each(currentStorage, function(position,object){
                $("input[name='"+object['name']+"']").prop('value', object['value']);               
            });
        }