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工具 Cookie 封装
Aug 21 Javascript
js如何取消事件冒泡
Sep 23 Javascript
简介JavaScript中toTimeString()方法的使用
Jun 12 Javascript
JavaScript简单修改窗口大小的方法
Aug 03 Javascript
Javascript基础教程之比较null和undefined值
May 16 Javascript
浅谈Javascript中的函数、this以及原型
Oct 09 Javascript
JavaScript中定义对象原型的两种使用方法
Dec 15 Javascript
深入理解Javascript中的观察者模式
Feb 20 Javascript
jquery设置css样式的多种方法(总结)
Feb 21 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
element-ui 上传图片后清空图片显示的实例
Sep 04 Javascript
JavaScript经典案例之简易计算器
Aug 24 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.ini实现Mysql导入数据库文件最大限制的修改方法
2007/12/11 PHP
PHP警告Cannot use a scalar value as an array的解决方法
2012/01/11 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
php操纵mysqli数据库的实现方法
2016/09/18 PHP
php mysql数据库操作类(实例讲解)
2017/08/06 PHP
详解PHP发送邮件知识点
2018/05/06 PHP
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
Firefox中通过JavaScript复制数据到剪贴板(Copy to Clipboard 跨浏览器版)
2013/11/22 Javascript
js用Date对象的setDate()函数对日期进行加减操作
2014/09/18 Javascript
提升jQuery的性能需要做好七件事
2016/01/11 Javascript
详解JavaScript中双等号引起的隐性类型转换
2016/05/30 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
Mac系统下Webstorm快捷键整理大全
2017/05/28 Javascript
Angular实现响应式表单
2017/08/04 Javascript
nodejs连接mysql数据库及基本知识点详解
2018/03/20 NodeJs
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
VUE 3D轮播图封装实现方法
2018/07/03 Javascript
vue中注册自定义的全局js方法
2019/11/15 Javascript
浅谈Vue组件单元测试究竟测试什么
2020/02/05 Javascript
vue实现瀑布流组件滑动加载更多
2020/03/10 Javascript
Python连接mysql数据库的正确姿势
2016/02/03 Python
Python字符串的一些操作方法总结
2019/06/10 Python
浅谈Keras中shuffle和validation_split的顺序
2020/06/19 Python
通过实例解析Python文件操作实现步骤
2020/09/21 Python
美国娱乐和流行文化商品店:FYE
2017/09/14 全球购物
英国内衣连锁店:Boux Avenue
2018/01/24 全球购物
西雅图电动自行车公司:Rad Power Bikes
2020/02/02 全球购物
优秀毕业生自我鉴定
2014/02/11 职场文书
四风问题查摆剖析材料
2014/10/11 职场文书
初中作文评语集锦
2014/12/25 职场文书
2016年大学自主招生自荐信范文
2015/03/24 职场文书
2015年成本会计工作总结
2015/10/14 职场文书
分享几个JavaScript运算符的使用技巧
2021/04/24 Javascript
MySQL三种方式实现递归查询
2022/04/18 MySQL
CSS文本阴影 text-shadow 悬停效果详解
2022/05/25 HTML / CSS