需求

静态页面根据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 里。的更多相关文章

  1. PHP传入数组到js

    1.方式一,处理成字符串 js再将字符串处理成数组. var spec1_default = "{$spec1_default}"; spec1_default = spec1_d ...

  2. 我的Java开发学习之旅------>使用循环递归算法把数组里数据数组合全部列出

    面试题如下:把一个数组里的数组合全部列出,比如1和2列出来为1,2,12,21. (面试题出自<Java程序员面试宝典>) 代码如下: import java.util.Arrays; i ...

  3. PHP的数组值传入JavaScript的数组里

    <!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html><head>       &l ...

  4. 需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP

    需求:过滤下面这个网页里共723行 校对中里 行数为两位数的 行 并设置sz和rz在Windows和Linux之间发送和接收文件不用搭FTP 需求:过滤下面这个网页里共723行 校对中里 行数为两位数 ...

  5. JS 函数的柯里化与反柯里化

    ===================================== 函数的柯里化与反柯里化 ===================================== [这是一篇比较久之前的总 ...

  6. js高阶函数应用—函数柯里化和反柯里化

    在Lambda演算(一套数理逻辑的形式系统,具体我也没深入研究过)中有个小技巧:假如一个函数只能收一个参数,那么这个函数怎么实现加法呢,因为高阶函数是可以当参数传递和返回值的,所以问题就简化为:写一个 ...

  7. jQuery ajax 传递JSON数组到Spring Controller

    jQuery ajax传递单个JSON对象到后台很容易,这里记录的是传递多个JSON对象组成的JSON数组到java 后台,并说明java如何解析JSON数组. 1.js代码 var relation ...

  8. MVC5中使用jQuery Post 二维数组和一维数组到Action

    很久没有写了,最近在做一个MVC项目,这是我做的第一个MVC项目.之前可以说多MVC一点都不了解,今天把昨天遇到的一个问题记录下来.MVC大神就请飘过吧,跟我遇到同样问题的可以进来看看.遇到的第一个问 ...

  9. winform里操作打开在panel里的form窗体,子窗体操作同级子窗体或者父窗体的方法

    最近开始了一个winform项目,原先一直都是web项目.遇到个问题,就是在框架内,左侧和中间的main都是用panel来实现的form,就是把form窗体打开到panel里,实现左侧是导航,中间是操 ...

随机推荐

  1. ThreadFactory类的使用

    之前创建线程的话,基本上是使用new Thread(),或者是将任务提交到线程池执行.今天看了一下洁城浩的<图解java多线程设计模式>突然看到还可以使用ThreadFactory来创建一 ...

  2. P3648 [APIO2014]序列分割

    传送门 首先容易证明,得分和切的顺序没有关系 所以直接默认先切左边再切右边就好了 然后显然可以 $dp$ 一开始想的是设 $f[i][j]$ 表示切了 $i$ 次,此次把 $j$ 和 $j+1$ 分开 ...

  3. Python中使用PyMySQL

    1.项目中使用PyMySQL一些案例 建立一个config.py 用于存储配置文件 2.测试 ##获取数据 from config import ctf '''connection对象支持的方法 cu ...

  4. linux gpasswd

    gpasswd命令 功能:管理组用法:gpasswd[-a user][-d user][-A user,...][-M user,...][-r][-R]groupname参数:-a:添加用户到组- ...

  5. 解决js array的key不为数字时获取长度的问题

    最近写js时碰到了当数组key不为数字时,获取数组的长度为0 的情况. 1.问题场景 var arr = new Array(); arr[‘s1‘] = 1001; console.log(arr. ...

  6. sql 获取当天开始时间 结束时间

    2010-06-21 00:00:00.000 SELECT dateadd(ms,0,DATEADD(dd, DATEDIFF(dd,0,getdate()), 0)) 2010-06-21 23: ...

  7. input获得焦点时改变placeholder文本的样式

    HTML: <input type="text" placeholder="sample text"/> CSS: input::-webkit-i ...

  8. Java学习之路(一):日常第一课,认识JAVA

    Java的介绍 语言的起源 Java是SUN(Stanford University Network 斯坦福大学网络公司) 1995年推出的一门高级编程语言. Java名称的来源: Java最初是被命 ...

  9. java多线程开发,Executors、FutureTask、Callable

    java多线程如何应用呢,几乎学java的同学都知道Thread类和Runable接口.继承Thread类或者实现Runable接口,调用thread的start方法即可启动线程. 然后是线程池,就是 ...

  10. CentOS7 防火墙操作

    1.firewalld的基本使用 启动: systemctl start firewalld 关闭: systemctl stop firewalld 查看状态: systemctl status f ...