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 程序编码规范
Nov 23 Javascript
个人网站留言页面(前端jQuery编写、后台php读写MySQL)
May 03 Javascript
javascript如何创建对象
Aug 29 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
Dec 19 Javascript
js选项卡的制作方法
Jan 23 Javascript
jQuery实现页面倒计时并刷新效果
Mar 13 Javascript
bmob js-sdk 在vue中的使用教程
Jan 21 Javascript
用react-redux实现react组件之间数据共享的方法
Jun 08 Javascript
详解项目升级到vue-cli3的正确姿势
Jan 28 Javascript
JS异步处理的进化史深入讲解
Aug 25 Javascript
浅谈vue限制文本框输入数字的正确姿势
Sep 02 Javascript
vue实力踩坑之push当前页无效
Apr 10 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
Laravel5.1 框架Request请求操作常见用法实例分析
2020/01/04 PHP
PHP设计模式之装饰器(装饰者)模式(Decorator)入门与应用详解
2019/12/13 PHP
Javascript实例教程(19) 使用HoTMetal(7)
2006/12/23 Javascript
jQuery实战之仿淘宝商城左侧导航效果
2011/04/12 Javascript
javascript firefox 自动加载iframe 自动调整高宽示例
2013/08/27 Javascript
javascript中的if语句使用介绍
2013/11/20 Javascript
JavaScript也谈内存优化
2014/06/06 Javascript
js判断当页面无法回退时关闭网页否则就history.go(-1)
2014/08/07 Javascript
node.js集成百度UE编辑器
2015/02/05 Javascript
浅谈javascript中return语句
2015/07/15 Javascript
javascript如何写热点图
2015/12/08 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
jQuery代码性能优化的10种方法
2016/06/21 Javascript
Angular和Vue双向数据绑定的实现原理(重点是vue的双向绑定)
2016/11/22 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
微信小程序 出现47001 data format error原因解决办法
2017/03/10 Javascript
详解AngularJS ui-sref的简单使用
2017/04/24 Javascript
基于 Vue 实现一个酷炫的 menu插件
2017/11/14 Javascript
vue父组件向子组件传递多个数据的实例
2018/03/01 Javascript
详解vue-router数据加载与缓存使用总结
2018/10/29 Javascript
vue favicon设置以及动态修改favicon的方法
2018/12/21 Javascript
vue商城中商品“筛选器”功能的实现代码
2020/07/01 Javascript
python打开网页和暂停实例
2014/09/30 Python
详谈python3 numpy-loadtxt的编码问题
2018/04/29 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
python cs架构实现简单文件传输
2020/03/20 Python
在Python dataframe中出生日期转化为年龄的实现方法
2018/10/20 Python
Python批量删除只保留最近几天table的代码实例
2019/04/01 Python
详解Python中pandas的安装操作说明(傻瓜版)
2019/04/08 Python
linux中如何使用python3获取ip地址
2019/07/15 Python
python实现高斯投影正反算方式
2020/01/17 Python
美赞臣新加坡官方旗舰店:Enfagrow新加坡
2019/05/15 全球购物
协议书格式
2014/04/23 职场文书
学校四群教育实施方案
2014/06/12 职场文书
晋江市委常委班子四风问题整改工作方案
2014/10/26 职场文书
javascript数组includes、reduce的基本使用
2021/07/02 Javascript