根据json字符串生成Html的一种方式


Posted in Javascript onJanuary 09, 2013

文章说明
本文介绍了根据Json串生成Html的一种方式(只是简单实现了文本框,密码框,下拉框)。只是觉得好玩才这样做,如果觉得没有任何价值,请忽略。不足指出希望各位大牛指点。后续将根据各位的指点继续完善。

功能说明
根据json字符串生成Html的一种方式
在左侧输入框中输入Json串,点击执行时根据输入的Json串在右侧展示区显示出相应的Html(使用Jquery1.4.4)
HTML:

<table style="width:100%; "> 
<col width="200px;" /> 
<tr> 
<td>Json输入框</td> 
<td>展示区</td> 
</tr> 
<tr> 
<td> 
<textarea id="txtJson" rows="20" cols="50"> 
</textarea> 
</td> 
<td valign="top"> 
<div id="divShow"> 
</div> 
</td> 
</tr> 
<tr> 
<td></td> 
<td> 
<input id="btnExec" type="button" value="执行" /> 
</td> 
</tr> 
</table>

JS代码:
$(document).ready(function () { 
$("#btnExec").click(function () { 
try{ 
var objList = eval($("#txtJson").val()); 
jsonToControl(objList); 
} 
catch(e){ 
alert("json格式错误"); 
} 
}); 
}); 
function jsonToControl(jsonObj) { 
$("#divShow").empty(); 
$.each(jsonObj, function (index, item) { 
var control = null; 
var title = $("<label />"); 
switch (item.type) { 
case "textbox": 
control = createTextBox(); 
break; 
case "select": 
control = createSelect(item); 
break; 
case "password": 
control = createPassword(); 
break; 
//------------------------------ 
// 其它控件在这里加代码 
//------------------------------ 
} 
if (item.title != null) { 
title.text(item.title); 
} 
if (control != null) { 
control = setAttritube(control, item); 
$("#divShow").append(title); 
$("#divShow").append(control); 
$("#divShow").append("<br/>"); 
} 
}) 
} 
//设置控件的样式 
function setAttritube(control, item) { 
if (item.width != null) { 
control.width(item.width); 
} 
//-------------------------------- 
// 其他样式在这里加代码 
//-------------------------------- 
return control; 
} 
//创建TextBox 
function createTextBox() { 
return $("<input type='textbox' />"); 
} 
//创建密码框 
function createPassword() { 
return $("<input type='password'/>"); 
} 
//创建Select 
function createSelect(item) { 
var c = $("<select></select>"); 
if(item.items != null ){ 
$.each(item.items,function(index,i){ 
$("<option value='"+i.key+"' checked='checked'>"+i.value+"</option>").appendTo(c); 
}) 
} 
return c; 
}

非常感谢各位抽空看完。如果有任何意见或建议,请留言。
Javascript 相关文章推荐
可拖动窗口,附带鼠标控制渐变透明,开启关闭功能
Jun 26 Javascript
Jquery 插件开发笔记整理
Jan 17 Javascript
ASP.NET jQuery 实例14 在ASP.NET form中校验时间范围
Feb 03 Javascript
动态读取JSON解析键值对的方法
Jun 03 Javascript
Javascript中的Callback方法浅析
Mar 15 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
Aug 28 Javascript
js实现百度地图定位于地址逆解析,显示自己当前的地理位置
Dec 08 Javascript
基于Bootstrap 3 JQuery及RegExp的表单验证功能
Feb 16 Javascript
bootstrap弹出层的多种触发方式
May 10 Javascript
webpack开发环境和生产环境的深入理解
Nov 08 Javascript
Vue 引入AMap高德地图的实现代码
Apr 29 Javascript
js在HTML的三种引用方式详解
Aug 29 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
Jan 09 #Javascript
web的各种前端打印方法之jquery打印插件PrintArea实现网页打印
Jan 09 #Javascript
实现web打印的各种方法介绍及实现代码
Jan 09 #Javascript
js去除重复字符串两种实现方法
Jan 09 #Javascript
jquery插件之信息弹出框showInfoDialog(成功/错误/警告/通知/背景遮罩)
Jan 09 #Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
Jan 09 #Javascript
一行代码实现纯数据json对象的深度克隆实现思路
Jan 09 #Javascript
You might like
TMDPHP 模板引擎使用教程
2012/03/13 PHP
Zend的MVC机制使用分析(二)
2013/05/02 PHP
JS 添加千分位与去掉千分位的示例
2013/07/11 Javascript
jquery实现不同大小浏览器使用不同的css样式表的方法
2014/04/02 Javascript
JS案例分享之金额小写转大写
2014/05/15 Javascript
js实现按Ctrl+Enter发送效果
2014/09/18 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
JavaScript中的this,call,apply使用及区别详解
2016/01/29 Javascript
jQuery搜索框效果实现代码(百度关键词联想)
2021/02/25 Javascript
浅谈JSON.stringify()和JOSN.parse()方法的不同
2016/08/29 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
2016/12/26 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
JS关于刷新页面的相关总结
2018/05/09 Javascript
详解vue-cli 本地开发mock数据使用方法
2018/05/29 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
Vue 技巧之控制父类的 slot
2020/02/24 Javascript
微信小程序使用GoEasy实现websocket实时通讯
2020/05/19 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
浅析Python中的序列化存储的方法
2015/04/28 Python
PyTorch快速搭建神经网络及其保存提取方法详解
2018/04/28 Python
python实现按长宽比缩放图片
2018/06/07 Python
python高级特性简介
2020/08/13 Python
python时间time模块处理大全
2020/10/25 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
canvas实现手机的手势解锁的步骤详细
2020/03/16 HTML / CSS
荷兰超市:DEEN
2018/03/14 全球购物
黄金酒广告词
2014/03/21 职场文书
初中学生评语大全
2014/04/24 职场文书
小学数学教研活动总结
2014/07/01 职场文书
街道社区活动报告
2015/02/05 职场文书
2015年七夕情人节感言
2015/08/03 职场文书
观看禁毒宣传片后的感想
2015/08/11 职场文书
Pygame Rect区域位置的使用(图文)
2021/11/17 Python
【海涛dota】偶遇拉娜娅 质量局德鲁伊第一视角解说
2022/04/01 DOTA