根据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 相关文章推荐
Javascript中找到子元素在父元素内相对位置的代码
Jul 21 Javascript
jquery实现隐藏与显示动画效果/输入框字符动态递减/导航按钮切换
Jul 01 Javascript
Extjs改变树节点的勾选状态点击按钮将复选框去掉
Nov 14 Javascript
jQuery插件bgStretcher.js实现全屏背景特效
Jun 05 Javascript
JavaScript中模拟实现jsonp
Jun 19 Javascript
常用jQuery代码分享
Jul 14 Javascript
jQuery实现向下滑出的二级菜单效果实例
Aug 22 Javascript
vue.js表格组件开发的实例详解
Oct 12 Javascript
基于jQuery制作小图标上下滑动特效
Jan 18 Javascript
Javascript 链式作用域详细介绍
Feb 23 Javascript
webpack学习笔记之优化缓存、合并、懒加载
Aug 24 Javascript
js实现简单的轮播图效果
Dec 13 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
UCenter Home二次开发指南
2009/05/28 PHP
浅析php变量作用域的一些问题
2013/08/08 PHP
php实现删除指定目录下相关文件的方法
2014/10/20 PHP
PHP中的静态变量及static静态变量使用详解
2015/11/05 PHP
Laravel框架Request、Response及Session操作示例
2019/05/06 PHP
IE与FireFox的兼容性问题分析
2007/04/22 Javascript
xheditor与validate插件冲突的解决方案
2010/04/15 Javascript
使用javascript获取flash加载的百分比的实现代码
2011/05/25 Javascript
JavaScript实现仿网易通行证表单验证
2015/05/25 Javascript
浅谈JavaScript字符串拼接
2015/06/25 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
使用openSpeDiv方法实现Ecshop登录弹窗框效果
2017/03/13 Javascript
highcharts 在angular中的使用示例代码
2017/09/20 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
微信小程序 (地址选择1)--选取搜索地点并显示效果
2019/12/17 Javascript
Python数组定义方法
2016/04/13 Python
浅谈用VSCode写python的正确姿势
2017/12/16 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
numpy中实现ndarray数组返回符合特定条件的索引方法
2018/04/17 Python
在python 不同时区之间的差值与转换方法
2019/01/14 Python
python里dict变成list实例方法
2019/06/26 Python
Python 画出来六维图
2019/07/26 Python
Python 中pandas索引切片读取数据缺失数据处理问题
2019/10/09 Python
The North Face北面法国官网:美国著名户外品牌
2019/11/01 全球购物
成人毕业生自我鉴定
2013/10/18 职场文书
学校安全教育制度
2014/01/31 职场文书
大学生学期自我鉴定
2014/03/19 职场文书
网络技术专业求职信
2014/05/02 职场文书
单位承诺书格式
2014/05/21 职场文书
2015年技术员工作总结
2015/04/10 职场文书
入党积极分子考察意见
2015/06/02 职场文书
单位车辆管理制度
2015/08/05 职场文书
党章党规党纪学习心得体会
2016/01/14 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python