1

我有以下下拉列表:

Gender<select name="gender"  id="gender"> 
  <option value=" "> EMPTY </option> 
  <option value="Male">Male</option> 
  <option value="Female">Female</option> 
</select>

如果我选择其中一个选项,即使我更新页面,它也应该保持被选为主选项。例如,如果我选择男性,下拉列表应将男性保持为选定选项,并且只有当我用鼠标单击它时才会更改。如何在 JavaScript 中做到这一点?

4

3 回答 3

3

这是一种使用 localStorage 的 javascript/jquery 方式。如果您要在很多地方执行此操作,则可能有优化此代码的方法。

$(function() {
    var genderValue = localStorage.getItem("genderValue");
    if(genderValue != null) {
        $("select[name=gender]").val(genderValue);
    }

    $("select[name=gender]").on("change", function() {
        localStorage.setItem("genderValue", $(this).val());
    });
})
于 2013-02-28T16:04:35.660 回答
0

HTML 页面是无状态的——这意味着它们不记得状态。为了执行您所描述的操作,我们通常让服务器端代码根据先前提交的表单的值输出不同的 HTML。

有使用 URL 哈希的纯 JavaScript 方法,但无论如何您都需要一些服务器端代码来运行您的网站。

于 2013-02-28T15:53:16.563 回答
0

如果您想保留该值,当您通过其后续页面上的 EDIT 按钮导航回此页面时如何。这是我的帖子: Retain dynamic created DropDown list's selected value on event window.history.back()- JavaScript

于 2015-02-25T21:59:32.880 回答