我有一个页面需要每5秒自动刷新一次。但是,需要在页面中显示的内容依赖于下拉列表中的值。如何进行设置,以便每次刷新页面时都保留所选值?
下拉代码:
$query="SELECT eventName,eventID FROM event WHERE eventStatus = 'Ongoing' ORDER BY eventDate";
$result = mysql_query ($query);
echo "<select name='event2'>";
$event = strip_tags(@$_POST['event2']);
echo "<option>---------------------Select---------------------</option>";
while($nt=mysql_fetch_array($result)){
$selected = false;
// check if the current value equals the value submited
if(@$_POST['event2'] == $nt['eventID']){
$selected = true;
}
// show selected attribute only if $selected is true
echo "<option value='{$nt['eventID']}' ". ($selected ? "selected" : "") .">{$nt['eventName']}</option>";
}
echo "</select><input type='submit' name ='view' value='View'/>";
上面的代码只有在我提交时才设法保留下拉列表的值,然后我被重定向到包含下拉列表的同一页面。但是,当页面自动刷新时,它不适用。
答案 0 :(得分:1)
您可以使用jquery通过ajax(http://api.jquery.com/jQuery.ajax/)加载和显示某些throw页面,而不是刷新整个页面。这样,包含表单的页面部分永远不会刷新,只是显示数据的表。
使用javascript settimeout方法每五秒运行一次ajax调用。
答案 1 :(得分:0)
您可以使用ajax进行刷新,但仍可以将数据存储到SESSION中。
答案 2 :(得分:0)
刷新语句与JQuery重新加载功能不同。
我在类似的情况下使用了JQuery重载功能,它在刷新失败时提供了所需的结果。
尝试:
function reloadPage() {
location.reload();
};
$(document).ready(function() {
setTimeout("reloadPage()", 5000);
});
我没有测试过,所以如果有效,请告诉我。
此致 凯文
答案 3 :(得分:0)
您可以将值存储在Cookie中。