根据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 相关文章推荐
硬盘浏览程序,保存成网页格式便可使用
Dec 03 Javascript
jQuery学习笔记之Helloworld
Dec 22 Javascript
解决IE6的PNG透明JS插件使用介绍
Apr 17 Javascript
JS模拟自动点击的简单实例
Aug 08 Javascript
js实现input密码框提示信息的方法(附html5实现方法)
Jan 14 Javascript
Angular.js回顾ng-app和ng-model使用技巧
Apr 26 Javascript
JS仿Base.js实现的继承示例
Apr 07 Javascript
详解vue.js的事件处理器v-on:click
Jun 27 Javascript
详解使用Visual Studio Code对Node.js进行断点调试
Sep 14 Javascript
详解vue的diff算法原理
May 20 Javascript
详解Vue中watch对象内属性的方法
Feb 01 Javascript
使用vue判断当前环境是安卓还是IOS
Apr 12 Vue.js
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简洁函数(PHP简单明了函数语法)
2012/06/10 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
laravel-admin 实现在指定的相册下添加照片
2019/10/21 PHP
JavaScript开发时的五个注意事项
2007/12/08 Javascript
在IE上直接编辑网页内容的js代码(IE地址栏js)
2009/04/27 Javascript
学习js在线html(富文本,所见即所得)编辑器
2012/12/18 Javascript
jQuery使用一个按钮控制图片的伸缩实现思路
2013/04/19 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
jQuery子属性过滤选择器用法分析
2015/02/10 Javascript
Javascript中使用parseInt函数需要注意的问题
2015/04/02 Javascript
JavaScript处理解析JSON数据过程详解
2015/09/11 Javascript
JavaScript中获取纯正的undefined的方法
2016/03/06 Javascript
基于JavaScript代码实现自动生成表格
2016/06/15 Javascript
详解JavaScript 中getElementsByName在IE中的注意事项
2017/02/21 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
2017/05/19 jQuery
nodeJS(express4.x)+vue(vue-cli)构建前后端分离实例(带跨域)
2017/07/05 NodeJs
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
稍微学一下Vue的数据响应式(Vue2及Vue3区别)
2019/11/21 Javascript
JavaScript获取当前url路径过程解析
2019/12/27 Javascript
[03:59]DOTA2英雄梦之声_第07期_水晶室女
2014/06/23 DOTA
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
Python的Flask框架中web表单的教程
2015/04/20 Python
django 常用orm操作详解
2017/09/13 Python
python文件名和文件路径操作实例
2017/09/29 Python
python生成多个只含0,1元素的随机数组或列表的实例
2018/11/12 Python
Django 用户认证组件使用详解
2019/07/23 Python
NumPy中的维度Axis详解
2019/11/26 Python
python线程定时器Timer实现原理解析
2019/11/30 Python
python3 求约数的实例
2019/12/05 Python
pytorch-神经网络拟合曲线实例
2020/01/15 Python
检举信的格式及范文
2014/04/04 职场文书
工作时间擅自离岗检讨书
2014/10/24 职场文书
入党积极分子党支部意见
2015/06/02 职场文书
2016暑期政治学习心得体会
2016/01/23 职场文书
在Spring-Boot中如何使用@Value注解注入集合类
2021/08/02 Java/Android