根据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 相关文章推荐
在线游戏大家来找茬II
Sep 30 Javascript
jquery实现的让超出显示范围外的导航自动固定屏幕最顶上
Sep 22 Javascript
可以用鼠标拖动的DIV实现思路及代码
Oct 21 Javascript
javascript如何判断输入的url是否正确
Apr 11 Javascript
用jquery模仿的a的title属性的例子
Oct 22 Javascript
javascript实现保留两位小数的多种方法
Dec 18 Javascript
javascript与jquery动态创建html元素示例
Jul 25 Javascript
JS使用正则表达式验证身份证号码
Jun 23 Javascript
vue最简单的前后端交互示例详解
Oct 11 Javascript
微信小程序实现多选功能
Nov 04 Javascript
node.js 基于cheerio的爬虫工具的实现(需要登录权限的爬虫工具)
Apr 10 Javascript
详解微信小程序动画Animation执行过程
Sep 23 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
PHP转换IP地址到真实地址的方法详解
2013/06/09 PHP
php导入导出excel实例
2013/10/25 PHP
destoon整合UCenter图文教程
2014/06/21 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
PHP编程中尝试程序并发的几种方式总结
2016/03/21 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
Javascript Boolean、Nnumber、String 强制类型转换的区别详细介绍
2012/12/13 Javascript
js实现简单登录功能的实例代码
2013/11/09 Javascript
cookie中的path与domain属性详解
2013/12/18 Javascript
jquery序列化form表单使用ajax提交后处理返回的json数据
2014/03/03 Javascript
jquery实现人性化的有选择性禁用鼠标右键
2014/06/30 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
2014/09/17 Javascript
学习JavaScript事件流和事件处理程序
2016/01/25 Javascript
Javascript 数组去重的方法(四种)详解及实例代码
2016/11/24 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
2017/10/10 Javascript
angularjs实现的购物金额计算工具示例
2018/05/08 Javascript
jQuery时间戳和日期相互转换操作示例
2018/12/07 jQuery
Vuex,iView UI面包屑导航使用扩展详解
2019/11/04 Javascript
js实现随机点名程序
2020/09/17 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
python django框架中使用FastDFS分布式文件系统的安装方法
2019/06/10 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
基于python调用jenkins-cli实现快速发布
2020/08/14 Python
简单html5代码获取地理位置
2014/03/31 HTML / CSS
好的自荐信包括什么内容
2013/11/07 职场文书
保护环境的建议书
2014/03/12 职场文书
《九寨沟》教学反思
2014/04/08 职场文书
外语专业毕业生自荐信
2014/04/14 职场文书
五水共治一句话承诺
2014/05/30 职场文书
医药销售自我评价200字
2014/09/11 职场文书
新闻发布会活动策划方案
2014/09/15 职场文书
大学军训的体会
2014/11/08 职场文书
聘任证明怎么写
2015/03/02 职场文书
食品药品安全责任书
2015/05/11 职场文书
秋收起义观后感
2015/06/11 职场文书
HTML基本元素标签介绍
2022/02/28 HTML / CSS