jQuery 设置和获取下拉菜单和输入的本地存储数据

jQuery setting & getting localstorage data for dropdowns & input's

我正在尝试使一个简单的表单页面具有一些本地存储功能,以便在页面 closed/reloaded.

之后恢复 settings/input

我已经尝试开始,但我仍在学习,所以有错误,我无法让它工作。

示例:https://jsfiddle.net/5gam3b6f/

$(document).ready(function () {
    $.each($("select"), function (index, value)) {
        localStorage.getItem($(this).attr(“id”));
    };
});

$("select").on("change", function () {
    localStorage.setItem($(this).attr(“id”), $(this));
});

我还没有开始使用名称输入字段或清除功能,因为我什至无法让第一个工作。

我宁愿不使用外部库,因为这会变得很复杂,不需要其他任何东西。

以下内容适合您:

Here is a working jsFiddle

jQuery

$('.useLocalSelect').change(function () {
    var key = $(this).attr('id');
    var value = $(this).val();
    localStorage.setItem(key, value)
});

// use a timer for text fields and the like so that localsotrage is set 2 seconds after the user stops typing instead of after each keystroke
var t = '';
$('.useLocalInput').keyup(function () {
    clearTimeout(t);
    var key = $(this).attr('id');
    var value = $(this).val();
    t = setTimeout(function () {
        localStorage.setItem(key, value)
    }, 2000);
});

$('.useLocal').each(function () {
    var key = $(this).attr('id');
    if (localStorage.getItem(key)) {
        $(this).val(localStorage.getItem(key));
    }
});

$('.clearLocalSelect').click(function () {
    $('.useLocalSelect').each(function () {
        $(this).val('');
        var key = $(this).attr('id');
        localStorage.removeItem(key);
    });
});

html

<label style="color: #01ACEE; font: bold 14px Tahoma;">Input &nbsp;&nbsp;&nbsp;
    <input class="useLocal useLocalInput" id="testInput" size="40" type="text" name="website" value="" required/>
</label>
<br/>
<br/>
<label style="color: #01ACEE; font: bold 14px Tahoma;">Select</label>
<select class="useLocal useLocalSelect" id="testSelect" name="start_date">
    <option value="">Select one...</option>
    <option value="January">January</option>
    <option value="February">February</option>
    <option value="March">March</option>
    <option value="April">April</option>
    <option value="May">May</option>
    <option value="June">June</option>
    <option value="July">July</option>
    <option value="August">August</option>
    <option value="September">September</option>
    <option value="October">October</option>
    <option value="November">Noember</option>
    <option value="December">December</option>
</select>
<br/>
<br/>
    <input type="button" class="clearLocalSelect" value="Clear Selects"/>