`

JavaScript cookie实现html的select标签刷新后不回到默认值而是保持之前选择值

阅读更多
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
	<head>
	<base href="<%=basePath%>">
	<title>3G业务</title>
	<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" />
	<meta name="viewport" content="width=device-width,minimum-scale=1.0,maximum-scale=1.0,user-scalable=no" />
	<script type="text/javascript">
		function saveSelectIndex(){   
			var typeId=document.getElementById("typeId");   
			var typeIdText=typeId.options[typeId.selectedIndex].value;   
			var osId=document.getElementById("osId");   
			var osIdText=osId.options[osId.selectedIndex].value;   //设置多个cookie    
			document.cookie="typeIdText="+typeIdText;   
			document.cookie="osIdText="+osIdText;
		}
		function selectIndex(){   //记得初始化,否则会出现undefined   
			var typeIdText=0;   
			var osIdText=0;   //获取多个cookie   
			var coosStr=document.cookie;//注意此处分隔符是分号加空格   
			var coos=coosStr.split("; ");   
			for(var i=0;i<coos.length;i++){      
				var coo=coos[i].split("=");      
				//alert(coo[0]+":"+coo[1]);      
				if("typeIdText"==coo[0]){ 
					typeIdText=coo[1];      
				}
				if("osIdText"==coo[0]){ 
					osIdText=coo[1];      
				}   
			}     
			var typeId=document.getElementById("typeId");   
			if(typeIdText==0){      
				typeId.selectedIndex=0;   
			}else{      
				var length=typeId.options.length;      
				for(var i=0;i<length;i++){ 
					if(typeId.options[i].value==typeIdText){    
						typeId.selectedIndex=i;    
						break; 
					}      
				}   
			}      
			var osId=document.getElementById("osId");   
			if(osIdText==0){      
				osId.selectedIndex=0;   
			}else{      
				var length=typeId.options.length;      
				for(var i=0;i<length;i++){ 
					if(osId.options[i].value==osIdText){    
						osId.selectedIndex=i;    
						break; 
					}      
				}   
			}   
		}
	</script>
	</head>    
	<body onload="selectIndex();">
		<form action="servlet/MoblieServlet?action=query" method="post">
			<fieldset style="width: 250px; height: 160px">
				<legend>3G业务查询</legend>
				<table align="center">    
					<tr>
						<td align="right">分类</td>
						<td>
							<select name="typeId" id="typeId" onchange="saveSelectIndex();">
									<option value="0">请选择...</option>
								  <option value="大类">通信类</option>
								  <option value="中类">资讯类</option>
								  <option value="小类">娱乐类</option>
								  <option value="商品">互联网</option>
							</select>
						</td>    
					</tr>    
					<tr>
						<td align="right">操作系统</td>
						<td>
							<select name="osId" id="osId" onchange="saveSelectIndex();">
								<option value="0">请选择...</option>
								<option value="Unix">android</option>
								<option value="Aix">WM6</option>
								<option value="Linux">WM7</option>
								<option value="Windows">S60 V5</option>
								<option value="Windows">S60 V3</option>
								<option value="Windows">Symbian 3</option>
								<option value="Windows">bada</option>
								<option value="Windows">IOS</option>
								<option value="Windows">webos</option>
								<option value="Windows">linux</option>
							</select>
						</td>
					</tr>    
					<tr align="center">
						<td colspan="2">
							<input type="submit" value="查询" />
							<input type="reset" value="清空" />
						</td>    
					</tr>
				</table>    
			</fieldset>
		</form>    
	</body>
</html>

     运行效果:

     刷新页面,仍然保持当前选择值。

     注意:如上实例,在IE8、Firefox上运行正常,但在Chrome上不能正常运行。

  • 大小: 19.4 KB
分享到:
评论

相关推荐

    程序天下:JavaScript实例自学手册

    9.23 用键盘上下键实现表格行的上下选择 9.24 用JavaScript隐藏或显示表格列 9.25 滚动的表格 9.26 交换表的行 9.27 动态拖放表格的宽度 9.28 可输入内容的表格 9.29 可以分级的表格隐藏 9.30 动态创建表格并实现...

    《程序天下:JavaScript实例自学手册》光盘源码

    9.23 用键盘上下键实现表格行的上下选择 9.24 用JavaScript隐藏或显示表格列 9.25 滚动的表格 9.26 交换表的行 9.27 动态拖放表格的宽度 9.28 可输入内容的表格 9.29 可以分级的表格隐藏 9.30 动态创建表格并实现...

    使用js操作cookie的一点小收获分享

    3. 使用Cookie来持久化用户的年度选择,防止页面刷新后丢失状态。 这些技巧在处理前后端交互和页面动态更新时非常有用,尤其是在需要保持用户特定设置的情况下。通过熟练掌握JavaScript对Cookie的操作,开发者可以...

    21春北京理工大学《脚本程序设计》在线作业参考答案.docx

    26. **变量声明**:在JavaScript中,可以声明变量而不指定初始值,例如`var x;`。 27. **表达式类型**:表达式的类型不仅取决于运算符,还与操作数的类型有关。 28. **location对象**:location对象记录浏览器窗口...

    省市联动,调用别的网站接口

    这种方式可以在不刷新页面的情况下更新数据,提高用户体验。 3. **JSON解析**:API接口返回的数据通常是JSON格式,这是一种轻量级的数据交换格式,易于人类阅读和编写,也易于机器解析和生成。我们需要将接收到的...

    东信同邦(面试).pdf

    - position的值有`static`, `relative`, `absolute`, `fixed`, `inherit`,默认值为`static`。 8. **HTML中引用CSS的方式**: - 内联样式(直接在HTML元素中),内部样式(`&lt;style&gt;`标签),`@import`导入,`...

    仅限于自己用的web前端面试题

    - CSS 属性名和值是不区分大小写的,但某些关键字如 `url()` 中的 URL 可能会区分大小写。 ### 八、关于 margin 和 padding 对行内元素的影响 - **margin**:`margin-top` 和 `margin-bottom` 对行内元素不起作用。...

    javaScript学习基础

    ### JavaScript学习基础知识点详解 #### 一、事件处理与元素操作 **1.1 事件对象属性** - **`event.srcElement.tagName`**: 返回触发事件的元素的标签名称。 - **`event.srcElement.type`**: 返回触发事件的元素...

    60个实用的jQuery代码片段.pdf

    【jQuery基础】jQuery是一个流行的JavaScript库,它简化了DOM操作、事件处理、动画制作和Ajax交互。以下是从60个实用jQuery代码片段中提取的知识点: 1. **选择器与过滤**:`filter()`方法允许根据指定条件筛选元素...

    JSP期末考试考试资料

    - 使用JavaScript实现,例如:`setTimeout("location.href='hello.jsp'", 2000);`。 38. **注释类型**: - 显式注释,格式为 `&lt;!-- 内容 --&gt;`,在客户端可见。 - 隐式注释,格式为 `内容 --%&gt;` 或 `* 内容 */%&gt;`...

    用dtree实现树形菜单 dtree使用说明

    【dtree实现树形菜单详解】 dtree是一个基于JavaScript编写的简单、易用且开源的树形菜单组件。它提供了一种便捷的方式去构建和管理树状结构的菜单,尤其适用于网页界面中需要展示层级关系的数据。下面我们将详细...

    js使用小技巧

    Javascript小技巧一箩筐 事件源对象 event.srcElement.tagName event.srcElement.type 捕获释放 event.srcElement.setCapture(); event.srcElement.releaseCapture(); 事件按键 event.keyCode ...

    PHP MySQL 图书馆管理系统前后台全部代码(附带数据库脚本).zip

    使用 AJAX 技术,前端可以异步地与后台通信,实现无刷新页面更新,如实时查询图书信息、提交借阅请求等。这需要对 JavaScript 和 JSON 有基础了解。 8. UI 设计与响应式布局 为了提供良好的用户体验,前端界面应...

    PHP图书管理系统.rar

    - `数据表字段.doc` 提供了数据库中各个表的字段详细说明,包括字段名称、数据类型、长度、是否为主键、允许为空、默认值等信息。这些字段定义了系统如何存储和操作数据,是系统功能实现的基础。 3. **PHP编程** ...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part1

    实例173 实现复选框中的全选、反选和不选 208 实例174 隐藏域提交用户的ID值 210 实例175 图像域替代提交按钮 211 实例176 跳转菜单实现页面跳转 213 实例177 上传图片预览 214 实例178 去掉下拉选项的边框 215 实例...

    PHP开发实战1200例(第1卷).(清华出版.潘凯华.刘中华).part2

    实例173 实现复选框中的全选、反选和不选 208 实例174 隐藏域提交用户的ID值 210 实例175 图像域替代提交按钮 211 实例176 跳转菜单实现页面跳转 213 实例177 上传图片预览 214 实例178 去掉下拉选项的边框 215 实例...

    2021-2022计算机二级等级考试试题及答案No.3556.docx

    - **详细解释**:在数据库设计中,字段默认值是指当插入新记录时如果没有显式指定值,则自动使用的值。这些默认值通常存储在数据库文件中,而不是表文件或项目文件中。这是因为字段默认值是数据库的一部分,用于控制...

Global site tag (gtag.js) - Google Analytics