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获取本机的外网/广域网ip地址完整源码
Aug 12 Javascript
jQuery实现瀑布流的取巧做法分享
Jan 12 Javascript
jQuery子窗体取得父窗体元素的方法
May 11 Javascript
node.js下LDAP查询实例分享
Sep 30 Javascript
jquery ztree异步搜索(搜叶子)实践
Feb 25 Javascript
基于Bootstrap的后台管理面板 Bootstrap Metro Dashboard
Jun 17 Javascript
js按条件生成随机json:randomjson实现方法
Apr 07 Javascript
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 Javascript
对layui中表单元素的使用详解
Aug 15 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
Nov 10 Javascript
vue组件定义,全局、局部组件,配合模板及动态组件功能示例
Mar 19 Javascript
Ant Design Pro 之 ProTable使用操作
Oct 31 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中关于普通表单多文件上传的处理方法
2011/03/25 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP编程获取图片的主色调的方法【基于Imagick扩展】
2017/08/02 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
2019/10/22 PHP
tbody元素支持嵌套的注意方法
2007/03/24 Javascript
javascript的trim,ltrim,rtrim自定义函数
2008/09/21 Javascript
google地图的路线实现代码
2009/08/20 Javascript
jquery调用asp.net 页面后台的实现代码
2011/04/27 Javascript
一个可拖拽列宽表格实例演示
2012/11/26 Javascript
Extjs单独定义各组件的实例代码
2013/06/25 Javascript
java、javascript实现附件下载示例
2014/08/14 Javascript
jQuery实现视频作为全屏幕背景
2014/12/18 Javascript
如何用JS/HTML将时间戳转换为“xx天前”的形式
2017/02/06 Javascript
VUE2实现事件驱动弹窗示例
2017/10/21 Javascript
vue2.5.2使用http请求获取静态json数据的实例代码
2018/02/27 Javascript
vue2.0页面前进刷新回退不刷新的实现方法
2018/07/31 Javascript
vuex2中使用mapGetters/mapActions报错的解决方法
2018/10/20 Javascript
jQuery无冲突模式详解
2019/01/17 jQuery
基于JavaScript实现轮播图效果
2021/01/02 Javascript
用Python程序抓取网页的HTML信息的一个小实例
2015/05/02 Python
python导入时小括号大作用
2017/01/10 Python
为什么入门大数据选择Python而不是Java?
2018/03/07 Python
Python设计模式之享元模式原理与用法实例分析
2019/01/11 Python
python3中关于excel追加写入格式被覆盖问题(实例代码)
2020/01/10 Python
tensorflow ckpt模型和pb模型获取节点名称,及ckpt转pb模型实例
2020/01/21 Python
python定义类self用法实例解析
2020/01/22 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
html5使用canvas实现弹幕功能示例
2017/09/11 HTML / CSS
Jar包的作用是什么
2014/03/30 面试题
公司员工离职证明书
2014/10/04 职场文书
农业项目合作意向书
2015/05/08 职场文书
举起手来观后感
2015/06/09 职场文书
2015初中政治教学工作总结
2015/07/21 职场文书
《分数乘法》教学反思
2016/02/24 职场文书
浅谈CSS不规则边框的生成方案
2021/05/25 HTML / CSS
Vue深入理解插槽slot的使用
2022/08/05 Vue.js