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实现计算两个日期的间隔天数
Aug 14 Javascript
js 弹出框 替代浏览器的弹出框
Oct 29 Javascript
ajax中get和post的说明及使用与区别
Dec 23 Javascript
javascript结合Canvas 实现简易的圆形时钟
Mar 11 Javascript
详解js界面跳转与值传递
Nov 22 Javascript
纯js实现html转pdf的简单实例(推荐)
Feb 16 Javascript
利用Angular2的Observables实现交互控制的方法
Dec 27 Javascript
微信小程序实现消息框弹出动画
Apr 18 Javascript
vue使用websocket的方法实例分析
Jun 22 Javascript
js中火星坐标、百度坐标、WGS84坐标转换实现方法示例
Mar 02 Javascript
Node.js API详解之 string_decoder用法实例分析
Apr 29 Javascript
vue中路由跳转不计入history的操作
Sep 21 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中设置一个严格30分钟过期Session面试题的4种答案
2014/07/30 PHP
PHP创建自己的Composer包方法
2018/04/09 PHP
PHPExcel实现表格导出功能示例【带有多个工作sheet】
2018/06/13 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
阻止JavaScript事件冒泡传递(cancelBubble 、stopPropagation)
2007/05/08 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
JavaScript学习笔记(十)
2010/01/17 Javascript
ko knockoutjs动态属性绑定技巧应用
2012/11/14 Javascript
快速查找数组中的某个元素并返回下标示例
2013/09/03 Javascript
HTML页面滚动时获取离页面顶部的距离2种实现方法
2013/09/05 Javascript
jQuery插件EasyUI校验规则 validatebox验证框
2015/11/29 Javascript
jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单
2016/09/21 Javascript
微信小程序入门教程
2016/11/18 Javascript
多种方式实现js图片预览
2016/12/12 Javascript
Angular X中使用ngrx的方法详解(附源码)
2017/07/10 Javascript
Node+OCR实现图像文字识别功能
2018/11/26 Javascript
浅谈如何优雅处理JavaScript异步错误
2019/11/12 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
浅谈Vue.use到底是什么鬼
2020/01/21 Javascript
Python实现获取域名所用服务器的真实IP
2015/10/25 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Python中import机制详解
2017/11/14 Python
python编写Logistic逻辑回归
2020/12/30 Python
详解Python with/as使用说明
2018/12/13 Python
python requests.post带head和body的实例
2019/01/02 Python
Python3使用xlrd、xlwt处理Excel方法数据
2020/02/28 Python
Python新手学习装饰器
2020/06/04 Python
Python爬虫Scrapy框架CrawlSpider原理及使用案例
2020/11/20 Python
Pycharm 如何一键加引号的方法步骤
2021/02/05 Python
Peter Millar官网:美国高档生活服饰品牌
2018/07/02 全球购物
幼儿园教师工作制度
2014/01/22 职场文书
电子商务专业学生职业生涯规划
2014/03/07 职场文书
幼儿园教师自我鉴定
2014/03/20 职场文书
计划生育宣传标语
2014/06/21 职场文书
2015年英语教师工作总结
2015/05/20 职场文书
4种非常实用的python内置数据结构
2021/04/28 Python