需求

静态页面根据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. vue嵌套路由-query传递参数(三)

    在嵌套路由中我们经常会遇到父路由向子路由里面传递参数,传递参数有两种方法,通过 query 或者 params index.html <div id="app"> &l ...

  2. selenium(python)登录时账号密码错误提示语

    selenium(python)登录时账号密码错误提示语的获取 可以用text

  3. vue-cli 3.5 解决 typescript cannot find file 问题。

    版本: "ts-loader": "^3.5.0","typescript": "^3.3.4000", "v ...

  4. 动态树Link-cut tree(LCT)总结

    动态树是个好玩的东西 LCT题集 预备知识 Splay 树链剖分(好像关系并不大) 动态树(Link-cut tree) 先搬dalao博客 什么是LCT? 动态树是一类要求维护森林的连通性的题的总称 ...

  5. mongodb与python随手记

    在python中使用pymongo连接mongodb数据库. 基本代码如下: from pymongo import MongoClient client = MongoClient('127.0.0 ...

  6. 小程序点击清除input内的内容不生效

    如下图,点击右侧的按钮清除input的内容,当获取焦点时点击按钮是会穿透的清除不了input,使用cover-image和cover-view页面不起作用 解决办法:input在左侧,按钮在右侧使他们 ...

  7. maven——添加插件和添加依赖有什么区别?

    依赖:运行时开发时都需要用到的jar包,比如项目中需要一个Json的jar包,就要添加一个依赖,这个依赖在项目运行时也需要,因此在项目打包时需要把这些依赖也打包进项目里: 插件:在项目开的发时需要,但 ...

  8. layui 时间插件laydate ,取消回调

    背景:转型新公司不再是做前端展示H5之类的东西,主要业务是后台数据读取和插件搭建前端页面,接触的第一个老项目是layui制作的,由于业务需求,需要用到时间插件以下为时间插件的一些用法--------- ...

  9. nodejs 并发控制

    1.用 eventproxy 实现控制并发: var EventProxy = require('eventproxy'); const most = 5;//并发数5 var urllist = [ ...

  10. Intel GPA 抓取3d模型

    原文链接在这里 http://dev.cra0kalo.com/?p=213 背景信息 Intel的GPA本身是一款图形分析软件,并没有设计从3D程序里抓取模型资源的功能,但这里作者是通过hook G ...