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 相关文章推荐
javascript正则表达式参数/g与/i及/gi的使用指南
Aug 27 Javascript
jQuery操作DOM之获取表单控件的值
Jan 23 Javascript
JavaScript中split() 使用方法汇总
Apr 17 Javascript
jquery小火箭返回顶部代码分享
Aug 19 Javascript
怎么限制input的text里输入的值只能是数字(正则、js)
May 16 Javascript
Javascript基础_标记文字的实现方法
Jun 14 Javascript
jQuery插件autocomplete使用详解
Feb 04 Javascript
浅谈jQuery的bind和unbind事件(绑定和解绑事件)
Mar 02 Javascript
vue绑定class与行间样式style详解
Aug 16 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
Mar 01 Javascript
小程序实现订单倒计时功能
Apr 23 Javascript
vue使用vant中的checkbox实现全选功能
Nov 17 Vue.js
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编写一个简单的路由类
2011/04/13 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
2017/12/26 PHP
静态的动态续篇之来点XML
2006/08/15 Javascript
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
2013/10/24 Javascript
jquery无法设置checkbox选中即没有变成选中状态
2014/03/27 Javascript
javascript字母大小写转换的4个函数详解
2014/05/09 Javascript
js类定义函数时用prototype与不用的区别示例介绍
2014/06/10 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
2015/05/15 Javascript
Js调用Java方法并互相传参的简单实例
2016/08/11 Javascript
js设置文字颜色的方法示例
2016/12/30 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
详解开发react应用最好用的脚手架 create-react-app
2018/04/24 Javascript
JavaScript实现新年倒计时效果
2018/11/17 Javascript
layui的layedit富文本赋值方法
2019/09/18 Javascript
layui复选框限制选择个数的方法
2019/09/18 Javascript
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
如何利用Fabric自动化你的任务
2016/10/20 Python
python和pygame实现简单俄罗斯方块游戏
2021/02/19 Python
python中reader的next用法
2018/07/24 Python
基于pytorch padding=SAME的解决方式
2020/02/18 Python
Django Form常用功能及代码示例
2020/10/13 Python
Origins悦木之源香港官网:雅诗兰黛集团高端植物护肤品牌
2018/03/21 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
网上签名寄语活动留言
2014/01/18 职场文书
艺术教育实施方案
2014/05/03 职场文书
安全生产承诺书范文
2014/05/22 职场文书
营销与策划专业求职信
2014/06/20 职场文书
护士节活动总结
2014/08/29 职场文书
违反交通安全法检讨书
2014/10/24 职场文书
谢师宴答谢词
2015/01/05 职场文书
2019同学聚会主持词
2019/05/06 职场文书
解决SpringCloud Feign传对象参数调用失败的问题
2021/06/23 Java/Android
mysql查看表结构的三种方法总结
2022/07/07 MySQL