javascript:json数据的页面绑定示例代码


Posted in Javascript onJanuary 26, 2014

web开发中,如果需要将“服务端返回的json对象”绑定到“现有页面上的dom元素”,传统赋值的方式太繁琐,写起来也很累(特别是json对象很大时),于是想出了下面的偷懒方法,不过有二个前提:

1、元素的id要与json对象中的属性命名一致
2、json对象中的属性名,最好不要重复

<!doctype html>
<html>
<head>
<title>json对象遍历演示</title>
<script type="text/javascript">
var obj = {a:'a1',b:'b1',c:{c1:'c1'},d:1,e:true,f:new Date("2012/12/24")};
//showJsonProperty(obj);
/*
function showJsonProperty(jsonObj){
 for(var o in jsonObj){  
  alert("属性名:" + o.toString() + ",值:" + jsonObj[o].toString() + ",type:" + typeof(jsonObj[o]) ); 
  if (typeof(jsonObj[o])=="object")
  {
   showJsonProperty(jsonObj[o]);
  }  
 }
}
*/
function bindJson(jsonObj){
 for(var o in jsonObj){ 
  var domObj = document.getElementById(o.toString());
  if (domObj!=undefined){
   domObj.value=jsonObj[o].toString();
  }  
  if (typeof(jsonObj[o])=="object")
  {
   bindJson(jsonObj[o]);
  }  
 }
}
function bindData(){ 
 bindJson(obj);
}
</script>
<style type="text/css">
 input{width:80px;height:18px;margin:0 10px 0 0;border:1px #999 solid}
 input:hover{border:1px #ff0000 solid}
 input[type=button]{background-color:#efefef;height:22px;}
</style>
</head>
<body>
 <div>
  a:
  <input id="a" />
  b:
  <input id="b" />
  c.c1:
  <input id="c1" />
  d:
  <input id="d" />
  e:
  <input id="e" />
  f:
  <input id="f" />
  <input type="button" value="绑定" id="btnBind" onclick="bindData()"/>
 </div>
</body>
</html>
Javascript 相关文章推荐
js null,undefined,字符串小结
Aug 21 Javascript
使用jQuery清空file文件域的解决方案
Apr 12 Javascript
js关于命名空间的函数实例
Feb 05 Javascript
原生JS实现-星级评分系统的简单实例
Aug 21 Javascript
jQuery旋转插件jqueryrotate用法详解
Oct 13 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
Aug 24 Javascript
electron + vue项目实现打印小票功能及实现代码
Nov 25 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
在Layui中实现开关按钮的效果实例
Sep 29 Javascript
js+css3实现炫酷时钟
Aug 18 Javascript
如何利用vue实现波谱拟合详解
Nov 05 Javascript
微信小程序弹窗禁止页面滚动的实现代码
Dec 30 Javascript
jQuery focus和blur事件的应用详解
Jan 26 #Javascript
当jQuery1.7遇上focus方法的问题
Jan 26 #Javascript
jQuery中delegate和on的用法与区别详细解析
Jan 26 #Javascript
使用javascript为网页增加夜间模式
Jan 26 #Javascript
jQuery:delegate中select()不起作用的解决方法(实例讲解)
Jan 26 #Javascript
javascript:FF/Chrome与IE动态加载元素的区别说明
Jan 26 #Javascript
js中的时间转换—毫秒转换成日期时间的示例代码
Jan 26 #Javascript
You might like
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
解析PHP正则提取或替换img标记属性
2013/06/26 PHP
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
PHP操作文件的一些基本函数使用示例
2014/11/18 PHP
android上传图片到PHP的过程详解
2015/08/03 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
Prototype使用指南之selector.js说明
2008/10/26 Javascript
使用jQuery同时控制四张图片的伸缩实现代码
2013/04/19 Javascript
JavaScript获取文本框内选中文本的方法
2015/02/20 Javascript
总结在前端排序中遇到的问题
2016/07/19 Javascript
jQuery扩展+xml实现表单验证功能的方法
2016/12/25 Javascript
详解vue.js移动端导航navigationbar的封装
2017/07/05 Javascript
electron demo项目npm install安装失败的解决方法
2018/02/06 Javascript
vue拖拽排序插件vuedraggable使用方法详解
2020/08/21 Javascript
解决ie11 SCRIPT5011:不能执行已释放Script的代码问题
2019/05/05 Javascript
vue3.0+vue-router+element-plus初实践
2020/12/02 Vue.js
[02:50]【扭转乾坤,只此一招】DOTA2全新版本永雾林渊开启新篇章
2020/12/24 DOTA
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
python中pygame针对游戏窗口的显示方法实例分析(附源码)
2015/11/11 Python
实时获取Python的print输出流方法
2019/01/07 Python
Kears+Opencv实现简单人脸识别
2019/08/28 Python
Python如何访问字符串中的值
2020/02/09 Python
tensorflow/core/platform/cpu_feature_guard.cc:140] Your CPU supports instructions that this T
2020/06/22 Python
Python如何在单元测试中给对象打补丁
2020/08/03 Python
BeautifulSoup中find和find_all的使用详解
2020/12/07 Python
纯CSS实现的大小渐变、渐远效果
2014/04/15 HTML / CSS
Pandora德国官网:购买潘多拉手链、戒指、项链和耳环
2020/02/20 全球购物
AJAX的优缺点都有什么
2015/08/18 面试题
食堂员工工作职责
2013/12/18 职场文书
自主实习接收函
2014/01/13 职场文书
考试诚信承诺书
2014/05/23 职场文书
小学英语教师先进事迹
2014/05/28 职场文书
2014年档案管理员工作总结
2014/12/01 职场文书
教师节主题班会方案
2015/08/17 职场文书
创业计划书之宠物店
2019/09/19 职场文书
gojs实现蚂蚁线动画效果
2022/02/18 Javascript