在javascript中选择更改后窗口刷新

时间:2010-11-09 17:52:34

标签: javascript html

我有一个选项框,其中包含3(1,2,3)个值。默认情况下,这显示值1,但每当我更改此值2时,我的页面应该刷新,选择选项也应保持值2。我将如何在javascript和html中执行此操作?我知道选择框的设计。

3 个答案:

答案 0 :(得分:1)

您需要将select元素放在一个表单中,该表单的操作指向当前页面。现在麻烦的是,仅仅更改select元素的值不会自动提交表单。为了做到这一点,你需要将一些Javascript附加到元素的onchange事件上,如下所示:

<form id="formtest" method="post" action="">
    <select id="test" name="myValue" onchange="this.form.submit();">
        <option>test</option>
        <option>test2</option>
    </select>
</form>

现在,假设您正在使用PHP,您可以在此表单提交期间访问服务器上的变量:

$_POST['myValue']

你的view / html中的代码可能如下所示:

<form id="formtest" method="post" action="">
    <select id="test" name="myValue" onchange="this.form.submit();">
        <option<?php echo isset($_POST['myValue']) && $_POST['myValue'] == 'test' ? ' selected' : '' ?>>test</option>
        <option<?php echo isset($_POST['myValue']) && $_POST['myValue'] == 'test2' ? ' selected' : '' ?>>test2</option>
    </select>
</form>

当然,这一切都可以变得更加动态,但基本的想法是让你消化。当然,如果您与我们分享了您使用的服务器脚本语言以及您使用的Javascript库(如果有的话),那将会更有帮助。

答案 1 :(得分:0)

最好使用服务器端语言。

选择选项

重定向到同一页面,其中所选值附加到该网址

window.location.href= index.html?selectedoption=2

从网址

获取此值

http://www.netlobo.com/url_query_string_javascript.html http://www.codeproject.com/KB/scripting/GetURLParameters.aspx

基于此值保持选中的选择框值

你也可以获得隐藏字段的帮助来实现这个目标

答案 2 :(得分:0)

为什么不使用cookies?

在选择框的onChange事件中,创建一个函数,该函数首先将框的值保存到cookie,然后刷新页面。

然后,在主体“onLoad”上,检查cookie是否存在,并将选择框设置为该值。

你可能想要添加一个重置按钮来清除cookie或将cookie设置为在会话结束时到期,这样选择框的状态就不会在页面的多次使用中持续存在。