基于JQuery实现表单元素值的回写
2024-09-01 01:42:06
form.jsp:
<%@ page language="java" import="java.util.*" pageEncoding="GB2312"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html >
<head>
<meta http-equiv="ptable-Type" ptable="text/html; charset=GBK">
<title>表单回写</title>
<script type="text/javascript" src="jquery.form_util.js"></script>
<script type="text/javascript">
$(function() {
var obj={
name:"张四",
area:"591",
sex:"11",
enjoy:"100011",
note:"xxxxxxxxxxx"
};
FormUtil.set(obj); });
</script>
</head>
<body>
姓名:<input id="name" name="name" type="text"><br/>
地区:<select id="area" name="area" >
<option value="9999">---请选择---</option>
<option value="591">福州</option>
<option value="592">厦门</option>
<option value="593">宁德</option>
</select><br/>
性别:<input id="sex" name="sex" type="radio" value="11">男
<input id="sex" name="sex" type="radio" value="12">女<br/>
兴趣:<input id="enjoy" name="enjoy" type="checkbox" value="1">AA
<input id="enjoy" name="enjoy" type="checkbox" value="1">BB
<input id="enjoy" name="enjoy" type="checkbox" value="1">CC
<input id="enjoy" name="enjoy" type="checkbox" value="1">DD
<input id="enjoy" name="enjoy" type="checkbox" value="1">EE
<input id="enjoy" name="enjoy" type="checkbox" value="1">FF
<br/>
备注:<textarea id="note" name="note" rows="10" cols="10"></textarea><br/>
</body>
</html>
jquery.form_util.js:
/**表单元素回写工具
* wumingkun 2014-08-19
*/
var FormUtil={
//值回写方法
set:function(obj){
var attr;
for(attr in obj){
var element=$("#"+attr)[0];
var nodeName=element.nodeName;
if(nodeName=="INPUT"){
FormUtil.judgeType($(element).attr("type"),attr,obj[attr]);
}else if(nodeName=="SELECT"){
FormUtil.setSelect(attr,obj[attr]);
}else if(nodeName=="TEXTAREA"){
FormUtil.setValue(attr,obj[attr]);
}
}
},
//设置文本框 文本域 密码框 隐藏框
setValue:function(key,value){
$("#"+key).val(value);
},
//设置下拉框
setSelect:function(key,value){
$("#"+key+" option").each(function(){
if(this.value==value){
$(this).attr("selected","selected");
}
});
},
//设置radio
setRadio:function(key,value){
$(":radio[name='"+key+"']").attr("checked",false);
$(":radio[value='"+value+"']").attr("checked",true);
},
//设置checkbox
setCheckbox:function(key,value,isDefault){
$(":checkbox[name='"+key+"']").attr("checked",false);
if(isDefault){
var vs=value.split("");
for(var i=vs.length-1;i>=0;i--){
if(vs[i]=="1"){
$(":checkbox[name='"+key+"']").filter(":eq("+(vs.length-1-i)+")").attr("checked",true);
}
}
}else { }
},
//input类型推断
judgeType:function(type,key,value){
if(type=="text"||type=="password"||type=="hidden"){
FormUtil.setValue(key,value);
}else if(type=="radio"){
FormUtil.setRadio(key,value);
}else if(type=="checkbox"){
FormUtil.setCheckbox(key,value,true);
}
}
};
最新文章
- 设置Debian8 光秃秃的桌面(图标,窗口样式等)
- sql with as union all
- 1.2Web API 2中的Action返回值
- UVA 11481 Arrange the Numbers(组合数学 错位排序)
- go语言让windows发出声音,或者播放音乐
- Android切换动画之ViewPager
- CCF 最优配餐 (BFS)
- (转) C++中基类和派生类之间的同名函数的重载问题
- Java设计模式-单例模式(Singleton)
- MySQL数据库的基本操作命令
- codeforces #305 D Mike and Fish
- 第 8 章 适配器模式【Adapter Pattern】
- 解决MySQL服务启动时报1067错误
- VC实用小知识总结 (一),转http://blog.csdn.net/myiszjf/article/details/10007431
- [Javascript] Web APIs: Persisting browser data with window.localStorage
- asp.net 二级域名session共享
- Scrapy 1.4 文档 01 初窥 Scrapy
- 什么是5G,看了这篇文章你就彻底懂了
- scrollbar样式设置
- vue-router使用 看着篇就够了
热门文章
- mac 应用程序安装目录
- 《挑战程序设计竞赛》P196 铺砖问题
- POJ1692 Crossed Matchings
- [LeetCode] Maximum Product Subarray 连续数列最大积
- [转]在Storyboard中使用自定义的segue类型
- 当一个窗体上有PageControl 控件时,是先执行 FormShow呢,还是先执行PageControl 的 TabSheet2Show呢
- ++x和x++
- Android判断是否为刘海屏
- layui如何使用内部jQuery?
- 已知一个序列A1.A2….An,给你一个整数K,找到满足所有Ai+Aj>;=k的数对(i,j)的个数