刷新后保持选项已选择

4

我有一个按照两个参数排序的人员列表,我将它们插入到一个选择框中。

当有人选择一个参数后,如何在刷新或返回/更改页面时保持所选参数不变?

我在互联网上看到了一些帖子存在问题,但大多数使用jQuery,而我不想使用它。

代码如下:

<select name="idactivity_contact[]" id="_activity" multiple="multiple" size="10" style="width:150px;">
    <option disabled="disabled" style="background-color:#dddddd;font-weight:bold;">Shipbroking</option>
    <option value="1">Newbuilding</option>
    <option value="2">Sales and Purchase</option>
    <option value="3">Bulk</option>
</select>

该代码实际上是手动生成的 PHP 代码,但稍后我会编写一个函数。


HTML是如何生成的?有没有服务器端的代码? - Steve B
你需要使用cookies。 - sinisake
所以请编辑您的问题。在服务器端拥有php是一个重要的事实。如果我们手中没有所有的牌,不要指望我们能帮助您解决问题。 - Steve B
2个回答

6

一种方法是使用 javascriptlocalStorage

document.getElementById("_activity").onchange = function() {
    localStorage.setItem('selectedtem', document.getElementById("_activity").value);
}

if (localStorage.getItem('item')) {
    document.getElementById("selectedtem").options[localStorage.getItem('selectedtem')].selected = true;
}​

您也可以在服务器端使用cookiessession


可以禁用localStorage的使用吗,就像用户可以禁用cookies一样? - Asons
@Felix:你可以将session/session cookies写成会话/会话cookie,因为会话需要cookie,这样就不会让人误解了。 - Asons

0

最直接的方法是将 $_POST[] 的值存储在 $_SESSION[] 中。


是的,但问题在于创建该页面的人没有使用 $_SESSION:/ - Crocsx

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,