接收Android数据 递归显示表格数据
<html>
<head>
<title>展示</title>
<script type="text/javascript" src="jquery-1.7.1.min.js"></script>
<script type="text/javascript">
var secondTdContent = {};
var thisJson, thisID; //返回的json 点击的ID
var thisType, thisTxtVal; //类型 文本框的值
var thisNodeLevelId; //
var androidjson;
var secondTdContent = {};
function testDiv() {
// document.getElementById("show").innerHTML = document.getElementsByTagName("html")[0].innerHTML;
}
$(function() {
//接收android传过来的json
function connectWebViewJavascriptBridge(callback) {
if(window.WebViewJavascriptBridge) {
callback(WebViewJavascriptBridge)
} else {
document.addEventListener(
'WebViewJavascriptBridgeReady',
function() {
callback(WebViewJavascriptBridge)
},
false
);
}
}
//发送json数据到android端
connectWebViewJavascriptBridge(function(bridge) {
bridge.init(function(message, responseCallback) {
console.log('JS got a message', message);
var data = {
'Javascript Responds': '测试中文!'
};
console.log('JS responding with', a);
responseCallback(data);
});
//接收到数据
bridge.registerHandler("functionInJs", function(data, responseCallback) {
// document.getElementById("show").innerHTML = ("data from Java: = " + data);
//发送到android端的数据:responseData=jsons数据
androidjson = data;
initTable(androidjson);
});
});
function initTable(androidjson) {
androidjson = eval('(' + androidjson + ')');
androidjson = JSON.parse(androidjson);
thisJson = androidjson.data.maintainStandardPlateMissions;
var template = androidjson.data;
var plateList = template.maintainStandardPlateMissions;
for(var plate_index = 0; plate_index < plateList.length; plate_index++) {
var plate = plateList[plate_index];
$("#model_content").append("<tr id='plate_" + plate.id + "'><td colspan='2' class='plateStyle'>" + plate.content + "</td> </tr>");
var itemList = plate.maintainStandardItem1Missions;
if(null != itemList && itemList.length > 0) {
for(var item_index = 0; item_index < itemList.length; item_index++) {
var item = itemList[item_index];
$("#model_content").append("<tr id='item_" + item.id + "'><td>" + item.content + "</td><td id='item_next_" + item.id + "'></td></table>");
var childList = item.maintainStandardItem2Missions;
secondTdContent["content"] = "";
if(null != childList && childList.length > 0) {
for(var child_index = 0; child_index < childList.length; child_index++) {
var child = childList[child_index];
switch(Number(child.resultType)) {
case 1: // 单选
if(child.isSelected == "1") { // 只显示选中的值
secondTdContent.content += child.name + "</br>";
}
break;
case 2: // 多选
if(child.isSelected == "1") {
secondTdContent.content += child.name + "</br>";
}
break;
case 3: // 输入
if(child.textContent == null) {
child.textContent = ""
}
secondTdContent.content += (child.name + ":" + child.textContent) + "</br>";
break;
case 4: // 单选 输入
case 5: // 多选输入
secondTdContent.content += child.isSelected == "1" ? (child.name + ":" + child.textContent + "</br>") : "";
break;
}
// digui(child);
}
}
$("#item_next_" + item.id).append(secondTdContent.content);
}
}
}
//有隐患的变色
// $("#model_content input[data-troubleLevel]").parent().parent().css('background-color', 'red')
}
});
//显示递归【暂时不用保留 扩展】
function digui(child) {
var childList = child.childList;
if(null != childList && childList.length > 0) {
secondTdContent.content += "(";
for(var child_index = 0; child_index < childList.length; child_index++) {
var child_child = childList[child_index];
//secondTdContent["content"] +=child_child.nodeType+"|"+child_child.name;
switch(child_child.nodeType) {
case 0:
if(child_child.isSelected == "1") {
if(Number(child.troubleLevel) > 0) {
secondTdContent.content += ('<input type="radio" disabled data-troubleLevel="' + child_child.troubleLevel + '" value="' + child_child.name + '" class="' + child_child.id + '" checked/>' + child_child.name);
} else {
secondTdContent.content += ('<input type="radio" disabled value="' + child_child.name + '" class="' + child_child.id + '" checked/>' + child_child.name);
}
} else {
secondTdContent.content += ('<input type="radio" disabled data-troubleLevel="' + child.troubleLevel + '" value="' + child_child.name + '" class="' + child_child.id + '" />' + child_child.name);
}
break;
case 1:
if(child_child.isSelected == "1") {
secondTdContent.content += ('<input type="checkbox" disabled value="' + child_child.name + '" class="' + child_child.id + '" checked/>' + child_child.name);
} else {
secondTdContent.content += ('<input type="checkbox" disabled value="' + child_child.name + '" class="' + child_child.id + '" />' + child_child.name);
}
break;
case 2:
if(!child_child.context) {
secondTdContent.content += (child_child.name + '<input type="text" class="' + child_child.id + '" value="' + child_child.context + '" readonly/>');
} else {
secondTdContent.content += (child_child.name + '<input type="text" class="' + child_child.id + '" value="' + child_child.context + '" readonly/>');
}
break;
case 3:
if(child_child.isSelected == "1") {
secondTdContent.content += ('<input type="radio" disabled value="' + child_child.name + '" class="' + child_child.id + '" checked />' +
child.name + '<input type="text" class="' + child.id + '" value="' + child.context + '" readonly />');
} else {
secondTdContent.content += ('<input type="radio" disabled name="' + child_child.nodeLevel + '" value="' + child_child.name + '" class="' + child_child.id + '"/>' +
child_child.name + '<input type="text" class="' + child_child.id + '" readonly />');
}
break;
case 4:
if(child.isSelected == "1") {
secondTdContent.content += ('<input type="checbox" value="' + child_child.name + '" class="' + child_child.id + '" checked disabled/>' +
child_child.name + '<input type="text" class="' + child_child.id + '" value="' + child_child.context + '" readonly/>');
} else {
secondTdContent.content += ('<input type="checbox" value="' + child_child.name + '" class="' + child_child.id + '" disabled/>' +
child_child.name + '<input type="text" class="' + child_child.id + '" readonly/>');
}
break;
}
digui(child_child);
}
secondTdContent.content += ")";
}
}
</script>
<style type="text/css">
* {
margin: 0;
padding: 0;
}
table tr td {
border: 1px solid #b4b4b4
}
table {
border-collapse: collapse;
}
.hidTrouble-color {
background-color: red;
color: #fff;
}
</style>
</head>
<body>
<p>
<xmp id="init" style="display:none">
</xmp>
</p>
<table id="model_content" style="">
</table>
<!-- <input type="text" value="测试" id="test"/> -->
<!-- <input type="button" value="显示" id="btn"/> -->
</body>
<!-- bootstrap -->
</html>
接收Android数据 递归显示表格数据的更多相关文章
- Java操作Jxl实现导出数据生成Excel表格数据文件
实现:前台用的框架是Easyui+Bootstrap结合使用,需要引入相应的Js.Css文件.页面:Jsp.拦截请求:Servlet.逻辑处理:ClassBean.数据库:SQLserver. 注意: ...
- tibble包:高效显示表格数据的结构
1 tibble包简介 包名: tibble 编码: UTF- 最新版本: 1.2 标题: 简单数据框 描述: 构建一个 'tbl_df' 类,可以比传统的R数据框提供更好的检查和打印功能. 作者: ...
- MySQL在控制台上以竖行显示表格数据
直接在SQL语句后面加\G即可,如: select * from user limit 10\G; 如果想要知道这些参数可以直接在命令行后面加入\?
- sql递归显示层级数据
;) as varchar(max)) as ssort from Category where ID = '123' union all select t.*, ) as varchar(max)) ...
- Android 本地tomcat服务器接收处理手机上传的数据之案例演示
上一篇:Android 本地tomcat服务器接收处理手机上传的数据之环境搭建 本篇基于上一篇搭建的服务器端环境,具体介绍Android真机上传数据到tomcat服务器的交互过程 场景:A ...
- SSM_CRUD新手练习(9)显示分页数据
我们已经做好了用来显示数据的分页模板,现在只需要将我们从后台取出的数据填充好,显示出来. 我们使用<c:forEach>标签循环取出数据,所以需要先导入JSTL标签库 <%@ tag ...
- easyui学习笔记7—在手风琴中显示表格
在这一篇中我们看看如何在手风琴里面显示表格数据的. 1.先看看引用的资源 <link rel="stylesheet" type="text/css" h ...
- Android Wear开发 - 数据通讯 - 第二节 : 数据的发送与接收
本节由介绍3种数据的发送接收:1.Data Items : 比特类型数据,限制100KB以内2.Assets : 资源类型数据,大小无上限3.Message : 发送消息,触发指令 http://de ...
- Android用surface直接显示yuv数据(二)
上一篇文章主要是參照AwesomePlayer直接用SoftwareRenderer类来显示yuv,为了能用到这个类,不惜依赖了libstagefright.libstagefright_color_ ...
随机推荐
- 关于{get;set;}访问器
/// <summary> /// 此视频更新时间/创建时间 [生成时间,不手填] /// </summary> public System.String CreateTime ...
- jquery双击事件会触发单击事件
实际工作中,我们经常会遇到在同一个元素上,绑定多种事件类型,比较常见的是单击事件和一些鼠标事件,一般而言影响不大.但是如果同时绑定单击事件和双击事件呢? 其实,只要能够想明白的话,解决方案也比较简单, ...
- android 开发 修改系统背景(状态栏颜色、导航栏颜色、标题栏颜色等等)
1.打开values下的styles.xml 发现有以下代码: <resources> <!-- Base application theme. --> <style n ...
- thinkphp 验证的使用
TP5验证可分为独立验证和验证器: 独立验证是可直接写在控制器里直接验证如下: //独立验证 $data = [ 'name'=>'vendor33333', 'email'=>'vaen ...
- [Unity工具]批量修改字体
效果图: using System.IO; using System.Text; using UnityEditor; using UnityEngine; using UnityEngine.UI; ...
- djangobb之forum.topics
看djangobb源代码时,看到view的show_forum(request, forum_id, full=True)时,对于topics = forum.topics.order_by('-st ...
- 爬虫--Scrapy-CrawlSpider&基于CrawlSpide的分布式爬虫
CrawlSpider 提问:如果想要通过爬虫程序去爬取”糗百“全站数据新闻数据的话,有几种实现方法? 方法一:基于Scrapy框架中的Spider的递归爬取进行实现(Request模块递归回调par ...
- Django-wed开发框架-练习题
https://www.cnblogs.com/pandaboy1123/p/9894981.html 1.列举Http请求常见的请求方式 HTTP协议是Hyper Text Transfer Pro ...
- C#--构造函数的理解
说白了构造函数就是用来初始化类的数据成员{因为C#语言具有类型安全的特质-->不能使用没有初始化的变量)} 在这里引用一下别人的总结,我觉得挺好的: 构造函数是一种特殊的成员函数,它主要用于为对 ...
- 服务限流-令牌桶java实现
此文非常不错,抄自: https://www.cnblogs.com/googlemeoften/p/6020718.html 其他实现 https://www.cnblogs.com/LBSer/p ...