提交后保留选定的值

时间:2014-05-27 00:09:49

标签: jquery html

我有一个时间下拉选择,我想在按下提交按钮后保留所选值。 Html在这里

<select name="pickupdatehour">
    <option label="00" selected="selected" value="00">00</option>
    <option label="01" value="1">01</option>
    <option label="02" value="2">02</option>
...
    <option label="23" value="23">23</option>
</select>

我没有使用常规的PHP,因为我在wordpress中创建一个网站,我需要大量的片段才能做到这一点,我在多个页面上有这个选择框,我需要一个Java或jQuery脚本帮助我保持每页上的选定值。

2 个答案:

答案 0 :(得分:3)

如果您有jQuery Cookie Plugin,则每次进行选择时都可以使用它来存储select into cookie的值,并且无论何时加载表单,都会检查cookie是否已设置并使用饼干。

$(function() {
    var timeCookie = $.cookie( "timeCookie" ),
        selElem = $('select[name=pickupdatehour]');
    selElem.on('change', function() {
        $.cookie( "timeCookie", this.value );
    });
    if( timeCookie != undefined ) {
        selElem.val( timeCookie );
    } else {
        $.cookie( "timeCookie", selElem.val() );
    }
});

HERE IS一个有效的演示。

答案 1 :(得分:1)

正如上面评论中所提到的,除非您将值存储在数据库中,并且每当您最好的赌注是cookie或localstorage时将其拉出来。就个人而言,我发现本地存储更容易使用,除非你需要IE7支持,否则你可以使用它。

http://caniuse.com/#search=localstorage

您可以尝试这样的事情(未经测试):

// On submit
var pickupdatehour = $('#pickupdatehour').val()
localStorage.setItem('storedPickup', pickupdatehour);

// On the pages that have the select box
jQuery(document).ready(function () {
  var loadedPickup = JSON.parse(localStorage.getItem('storedPickup'));
  $('#pickupdatehour').val(loadedPickup);
});

编辑:抱歉错过了您的选择框中的名称不是ID。使用select[name=pickupdatehour]代替#pickupdatehour作为选择器。