jQuery操作列表数据转成Json再输出为html dom树
jQuery 把列表数据转成Json再输出为如下 dom树
<div id="menu" class="lv1">
<ul class="menu">
<li><a href="#" class="parent"><span>aaaaaaaaaaa</span></a>
<div class="lv2">
<ul>
<li><a href="#" class="parent"><span>bbbbbbbbbbbbbbbb</span></a>
<div class="lv3">
<ul>
<li><a href="#" class="parent"><span>cccccccc</span></a>
<div class="lv4">
<ul>
<li><a href="#"><span>ddddddddd</span></a></li>
<li><a href="#"><span>dddddddd</span></a></li>
<li><a href="#"><span>dddddddd</span></a></li>
<li><a href="#"><span>dddddddd</span></a></li>
<li><a href="#"><span>dddddddd</span></a></li>
<li><a href="#"><span>dddddddd</span></a></li>
</ul>
</div>
</li>
<li><a href="#"><span>ccccccccccccc</span></a></li>
<li><a href="#"><span>cccccccc</span></a></li>
<li><a href="#"><span>cccccccccc</span></a></li>
<li><a href="#"><span>cccccccccc</span></a></li>
<li><a href="#"><span>ccccccccc</span></a></li>
</ul>
</div>
</li>
<li><a href="#" class="parent"><span>bbbbbbbbbbbbbbbbb</span></a>
<div class="lv3">
<ul>
<li><a href="#"><span>cccccccccccc</span></a></li>
<li><a href="#"><span>cccccccccccc</span></a></li>
</ul>
</div>
</li>
</ul>
</div>
</li>
</ul>
</div>
列表字段分别为Title Level Parent Content, JQ代码如下
/**
* @create: nelson
* @initTree 初始化生成菜单
* @调用方式
$("#menu").initTree(qListview);
*/ $.fn.extend({
initTree: function (qListview) {
var This = $(this);
var That = $(qListview);
var keyArr = new Array();
var jsonArr = new Array();
That.find("thead th").each(function () {
keyArr.push($(this).text());
});
That.find("tbody tr").each(function (index) {
var jsonObj = {};
$(this).find("td").each(function (n) {
jsonObj[keyArr[n]] = $(this).html();
});
jsonArr.push(jsonObj);
});
This.attr('class', 'lv1').append('<ul class="menu"></ul>');
$.each(jsonArr, function (entryIndex, entry) {
switch (entry['Level']) {
case '1':
This.find("ul").append('<li><a href="#"><span>' + entry['Title'] + '</span></a></li>');
break;
case '2':
This.find(">ul>li>a").each(function () {
if (entry['Parent'] == $(this).text()) {
$(this).attr('class', 'parent');
if ($(this).parent().find('.lv2').html() == undefined) {
$(this).parent().append('<div class="lv2"><ul>' + '<li><a href="#"><span>' + entry['Title'] + '</span></a></li>' + '</ul></div>');
}
else {
$(this).parent().find('.lv2>ul').append('<li><a href="#"><span>' + entry['Title'] + '</span></a></li>');
}
return false;
}
});
break;
case '3':
This.find(".lv2>ul>li>a").each(function () {
if (entry['Parent'] == $(this).text()) {
$(this).attr('class', 'parent');
if ($(this).parent().find('.lv3').html() == undefined) {
$(this).parent().append('<div class="lv3"><ul>' + '<li><a href="#"><span>' + entry['Title'] + '</span></a></li>' + '</ul></div>');
}
else {
$(this).parent().find('.lv3>ul').append('<li><a href="#"><span>' + entry['Title'] + '</span></a></li>');
}
return false;
}
});
break;
case '4':
This.find(".lv3>ul>li>a").each(function () {
if (entry['Parent'] == $(this).text()) {
$(this).attr('class', 'parent');
if ($(this).parent().find('.lv4').html() == undefined) {
$(this).parent().append('<div class="lv4"><ul>' + '<li><a href="#"><span>' + entry['Title'] + '</span></a></li>' + '</ul></div>');
}
else {
$(this).parent().find('.lv4>ul').append('<li><a href="#"><span>' + entry['Title'] + '</span></a></li>');
}
return false;
}
});
break;
default:
break;
} });
return jsonArr;
}
});
jQuery操作列表数据转成Json再输出为html dom树的更多相关文章
- jquery里把数组转换成json的方法
首先来看,jquery里自带的,和json相关的函数: 1.$.parseJSON : 用来解析JSON字符串,返回一个对象. 什么叫“JSON字符串”? 比如: var a={name:&quo ...
- 【Flex】读取本地XML,然后XML数据转成JSON数据
干了一年H5,最近被要求写编辑器,Electron等级还不够,写不了,只有重新拿起as3,用flex,最近写到数据表编辑模块,有这部分功能,基本完成 . package utils { /** * 模 ...
- Redis 操作列表数据
Redis 操作列表数据: > lpush list1 "aaa" // lpush 用于追加列表元素,默认追加到列表的最左侧(left) (integer) > lp ...
- Java将其他数据类型转换成JSON字符串格式
Student.java package com.demo.servlet; import java.util.List; import java.util.Map; public class Stu ...
- 利用python将excel数据解析成json格式
利用python将excel数据解析成json格式 转成json方便项目中用post请求推送数据自定义数据,也方便测试: import xlrdimport jsonimport requests d ...
- jqueery easyui tree把已选中的节点数据拼成json或者数组(非常重要)
jqueery easyui tree把已选中的节点数据拼成json或者数组 pqxhk10级分类:其他被浏览14次2018.01.19 https://wenda.so.com/q/1535702 ...
- jquery: json树组数据输出到表格Dom树的处理方法
项目背景 项目中需要把表格重排显示 处理方法 思路主要是用历遍Json数组把json数据一个个append到5个表格里,还要给每个单元格绑定个单击弹出自定义对话框,表格分了单双行,第一行最后还要改ro ...
- flask框架下读取mysql数据 转换成json格式API
研究了一天 因为需要从数据库拿数据然后转换成json的格式 expose出去为 API 发现一条数据是容易,两条以上我居然搞了这么久 好歹出来了 先贴一下 后面更新 mysql的操作 比较容易了htt ...
- jQuery操作table数据上移、下移和置顶
jQuery 操作table中的tr换行的步骤如下: 1.获取当前tr var $tr = $(this).parents("tr"); 2.移动tr //上移 $tr.prev( ...
随机推荐
- [Android Pro] Android 6.0 Root
reference : http://bbs.gfan.com/android-8001827-1-1.html 2. 刷机和刷入recovery 建议参考 置顶教程: [15年3月31日更新]Nex ...
- Mysql 调用存储过程的两种方式
一,使用call语句: 如:创建 call 调用: 使用占位符,通过prepare,execute调用:
- lnmp初步学习知识整理
Linux常用30个命令 1.帮助命令 1) man 就是manual的缩写,用来查看系统中自带的各种参考手册(一般linux系统中自带英文手册)! man 命令名 //查看该命令的介绍 2) 命令名 ...
- EF – 5.DbSet与DbContext,数据更新奥秘
5.6.4 <DbSet与DbContext> 介绍DbSet与DbContext中的核心属性及重要方法. 5.6.5 <数据更新的奥秘> 这一讲极为重要,因为它揭示出了En ...
- Java 解析XML的几种方法
XML现在已经成为一种通用的数据交换格式,它的平台无关性,语言无关性,系统无关性,给数据集成与交互带来了极大的方便. XML在不同的语言里解析方式都是一样的,只不过实现的语法不同而已. 基本的解析方式 ...
- Android5.0如何正确启用isLoggable(二) 理分析
转自:http://www.it165.net/pro/html/201506/43374.html 概要 在上文<Android 5.0 如何正确启用isLoggable(一)__使用详解&g ...
- git push 使用总结
git push命令用于将本地分支的更新,推送到远程主机.它的格式与git pull命令相仿. $ git push <远程主机名> <本地分支名>:<远程分支名> ...
- ereg/eregi报错处理办法
ereg()函数和eregi()函数用法相同,不同之处在与ereg()区分大小写,eregi()不区分大小写 在php5.3以上的版本将不再支持eregi()和ereg()函数 处理办法: 正则函数处 ...
- php获取当前页面的完整url
javascript实现: top.location.href 顶级窗口的地址 this.location.href 当前窗口的地址 php实现: //测试网址: http://localhost/b ...
- PHP获取用户真实IP
function get_client_ip() { if(getenv('HTTP_CLIENT_IP') && strcasecmp(getenv('HTTP_CLIENT_IP' ...