我有一个选项框,其中包含3(1,2,3)个值。默认情况下,这显示值1,但每当我更改此值2时,我的页面应该刷新,选择选项也应保持值2。我将如何在javascript和html中执行此操作?我知道选择框的设计。
答案 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设置为在会话结束时到期,这样选择框的状态就不会在页面的多次使用中持续存在。