在URL里传入数组到HTML 里。
需求
静态页面根据URL输入,动态显示图表满足如下两个条件。
1. 隐藏指定的行
2. 设定初始显示的Check box 需要的部分被打勾
实现
1. 创建一个静态的页面,
<table id="ScreeningTable">
<tbody>
<tr>
<th>
<input type="checkbox" id="selectAll" onclick="checkAll(this)">
</th>
<th>TestID</th>
<th>Pillar</th>
<th>Scenario</th>
</tr>
<tr id="01-00001" name="row">
<td align="center" >
<input type="checkbox" class="case" name="checkItem" value="01-00001">
</td>
<td>01-00001</td>
<td>Pillar1</td>
<td>Scenario1</td>
</tr>
<tr id="01-00002" name="row">
<td align="center" id="04-00005">
<input type="checkbox" class="case" name="checkItem" value="01-00002">
</td>
<td>01-00002</td>
<td>Pillar1</td>
<td>Scenario2</td>
</tr>
<tr id="01-00003" name="row">
<td align="center" id="04-00012">
<input type="checkbox" class="case" name="checkItem" value="01-00003">
</td>
<td>01-00003</td>
<td>Pillar1</td>
<td>Scenario3</td>
</tr>
<tr id="01-00004" name="row">
<td align="center" id="04-00004">
<input type="checkbox" class="case" name="checkItem" value="01-00004">
</td>
<td>01-00004</td>
<td>Pillar1</td>
<td>Scenario4</td>
</tr>
<tr id="01-00005" name="row">
<td align="center" id="04-00005">
<input type="checkbox" class="case" name="checkItem" value="01-00005">
</td>
<td>01-00005</td>
<td>Pillar2</td>
<td>Scenario1</td>
<tr id="01-00006" name="row">
<tr>
<td align="center" id="04-00006">
<input type="checkbox" class="case" name="checkItem" value="01-00006">
</td>
<td>01-00006</td>
<td>Pillar2</td>
<td>Scenario2</td>
</tr> <tr id="01-00007" name="row">
<td align="center" id="04-00008">
<input type="checkbox" class="case" name="checkItem" value="01-00007">
</td>
<td>01-00007</td>
<td>Pillar2</td>
<td>Scenario3</td> </tr>
<tr id="01-00008" name="row">
<td align="center" id="04-00010">
<input type="checkbox" class="case" name="checkItem" value="01-00008">
</td>
<td>01-00007</td>
<td>Pillar3</td>
<td>Scenario1</td>
</tr>
</tbody>
</table>
写3个方法:
1.1 一个是隐藏指定的行
function HiddenRows(config)
{
var rowIds = config.split(";")[0].split(",");
alert(rowIds);
for(var i = 0, rowslength = rowIds.length; i<rowslength; i++)
{
var row = document.getElementById(rowIds[i]);
if (row != null)
{
row.style.display = "none";
}
}
}
1.2 修改Checkbox 状态
function SetChecedItems(config)
{
var checkItems = document.getElementsByClassName('case');
var ids = config.split(";")[1].split(","); for(var i=0;i< checkItems.length;i++)
{
alert(checkItems[i].value);
for(var j=0; j< ids.length; j++)
{
if(checkItems[i].value == ids[j])
{
alert(checkItems[i].value);
checkItems[i].checked = true;
}
}
}
}
1.3 解析URL传来的参数
function GetQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
var r = window.location.search.substr(1).match(reg); //获取url中"?"符后的字符串并正则匹配
var context = "";
if (r != null)
context = r[2];
reg = null;
r = null;
return context == null || context == "" || context == "undefined" ? "" : context;
}
关于Debug
JavaScript 可以直接在浏览器例如IE里面Debug,在IE菜单里面找到Developer Tools 打开即可,可以设置断点观察值,还是比较方便的。
在此例中,在地址栏输入 xxxx.htm?config=01-00001,01-00002;01-00005 回车后,就可以开始进行调试。
参考:
http://www.jb51.net/article/48942.htm
在URL里传入数组到HTML 里。的更多相关文章
- PHP传入数组到js
1.方式一,处理成字符串 js再将字符串处理成数组. var spec1_default = "{$spec1_default}"; spec1_default = spec1_d ...
- 我的Java开发学习之旅------>使用循环递归算法把数组里数据数组合全部列出
面试题如下:把一个数组里的数组合全部列出,比如1和2列出来为1,2,12,21. (面试题出自<Java程序员面试宝典>) 代码如下: import java.util.Arrays; i ...
- PHP的数组值传入JavaScript的数组里
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html><head> &l ...
- 需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP
需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP 需求:过滤下面这个网页里共723行 校对中里 行数为两位数 ...
- JS 函数的柯里化与反柯里化
===================================== 函数的柯里化与反柯里化 ===================================== [这是一篇比较久之前的总 ...
- js高阶函数应用—函数柯里化和反柯里化
在Lambda演算(一套数理逻辑的形式系统,具体我也没深入研究过)中有个小技巧:假如一个函数只能收一个参数,那么这个函数怎么实现加法呢,因为高阶函数是可以当参数传递和返回值的,所以问题就简化为:写一个 ...
- jQuery ajax 传递JSON数组到Spring Controller
jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relation ...
- MVC5中使用jQuery Post 二维数组和一维数组到Action
很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目.之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来.MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看.遇到的第一个问 ...
- winform里操作打开在panel里的form窗体,子窗体操作同级子窗体或者父窗体的方法
最近开始了一个winform项目,原先一直都是web项目.遇到个问题,就是在框架内,左侧和中间的main都是用panel来实现的form,就是把form窗体打开到panel里,实现左侧是导航,中间是操 ...
随机推荐
- vue嵌套路由-query传递参数(三)
在嵌套路由中我们经常会遇到父路由向子路由里面传递参数,传递参数有两种方法,通过 query 或者 params index.html <div id="app"> &l ...
- selenium(python)登录时账号密码错误提示语
selenium(python)登录时账号密码错误提示语的获取 可以用text
- vue-cli 3.5 解决 typescript cannot find file 问题。
版本: "ts-loader": "^3.5.0","typescript": "^3.3.4000", "v ...
- 动态树Link-cut tree(LCT)总结
动态树是个好玩的东西 LCT题集 预备知识 Splay 树链剖分(好像关系并不大) 动态树(Link-cut tree) 先搬dalao博客 什么是LCT? 动态树是一类要求维护森林的连通性的题的总称 ...
- mongodb与python随手记
在python中使用pymongo连接mongodb数据库. 基本代码如下: from pymongo import MongoClient client = MongoClient('127.0.0 ...
- 小程序点击清除input内的内容不生效
如下图,点击右侧的按钮清除input的内容,当获取焦点时点击按钮是会穿透的清除不了input,使用cover-image和cover-view页面不起作用 解决办法:input在左侧,按钮在右侧使他们 ...
- maven——添加插件和添加依赖有什么区别?
依赖:运行时开发时都需要用到的jar包,比如项目中需要一个Json的jar包,就要添加一个依赖,这个依赖在项目运行时也需要,因此在项目打包时需要把这些依赖也打包进项目里: 插件:在项目开的发时需要,但 ...
- layui 时间插件laydate ,取消回调
背景:转型新公司不再是做前端展示H5之类的东西,主要业务是后台数据读取和插件搭建前端页面,接触的第一个老项目是layui制作的,由于业务需求,需要用到时间插件以下为时间插件的一些用法--------- ...
- nodejs 并发控制
1.用 eventproxy 实现控制并发: var EventProxy = require('eventproxy'); const most = 5;//并发数5 var urllist = [ ...
- Intel GPA 抓取3d模型
原文链接在这里 http://dev.cra0kalo.com/?p=213 背景信息 Intel的GPA本身是一款图形分析软件,并没有设计从3D程序里抓取模型资源的功能,但这里作者是通过hook G ...