本文目录一览:
求教关于javascript获取动态表格数据的问题,如何获取动态ID
文本框做一个触发事件,文本框的id或者name是按照列命名,例如
input name="gz_zhangsan"/ 代表广州张三,
编辑文本框的时候,根据name找到具体的人,则进行重新统计所在列的值(例如统计张三),然后找到张三所在的表二的显示位置,更新!
html
body
div
table border=1
thead id='th'trtd区域/td/tr/thead
tbody id='tb1'/tbody
/table
table border=1
theadtrtd姓名/tdtd合计/td/tr/thead
tbody id='tb2'/tbody
/table
/div
/body
script type="text/javascript"
var p=[{name:'张三',data:[30,40,50,60]},{name:'李四',data:[33,40,55,67]},{name:'王五',data:[30,10,20,20]},{name:'赵六',data:[10,10,30,20]}];
var address=['广州','深圳','上海','成都'];
window.onload=function()
{
var th = document.getElementById("th");
var tb1=document.getElementById("tb1");
var tb2=document.getElementById("tb2");
var sum =0;
var tr;
var td;
var input;
var rowAddress;
for(var i=0;i address.length;i++)
{
rowAddress = document.createElement("tr");
td = document.createElement("td");
td.innerHTML = address[i];
rowAddress.appendChild(td);
tb1.appendChild(rowAddress);
}
for(var i=0;i p.length;i++)
{
sum =0;
var th_col = document.createElement("td");
th_col.innerHTML = p[i].name;
th.rows[0].appendChild(th_col);
for(var j=0;jp[i].data.length;j++)
{
rowAddress=tb1.rows[j];
sum+= p[i].data[j];
td = document.createElement("td");
input = document.createElement("input");
input.value = p[i].data[j];
td.appendChild(input);
input.colIndex = i;
input.onchange=function()
{
var sum=0;
for(var i=0;itb1.rows.length;i++)
{
sum += parseInt( tb1.rows[i].cells[this.colIndex+1].getElementsByTagName("input")[0].value,10);
}
tb2.rows[this.colIndex].cells[1].innerHTML=sum;
};
rowAddress.appendChild(td);
}
tr = document.createElement("tr");
td = document.createElement("td");
td.innerHTML = p[i].name;
tr.appendChild(td);
td = document.createElement("td");
td.innerHTML = sum;
tr.appendChild(td);
tb2.appendChild(tr);
}
};
/script
/html
如何爬取网页中js动态生成的数据
String url = "";
try {
WebClient webClient = new WebClient(BrowserVersion.FIREFOX_10);
//设置webClient的相关参数
webClient.getOptions().setJavaScriptEnabled(true);
webClient.getOptions().setCssEnabled(false);
webClient.setAjaxController(new NicelyResynchronizingAjaxController());
//webClient.getOptions().setTimeout(50000);
webClient.getOptions().setThrowExceptionOnScriptError(false);
//模拟浏览器打开一个目标网址
HtmlPage rootPage = webClient.getPage(url);
System.out.println("为了获取js执行的数据 线程开始沉睡等待");
Thread.sleep(3000);//主要是这个线程的等待 因为js加载也是需要时间的
System.out.println("线程结束沉睡");
String html = rootPage.asText();
System.out.println(html);
} catch (Exception e) {
}
用js实现动态添加表格数据
1、在页面div中事先创建一个空白表格,可以根据需求而定。
2、表格创建好后,我们就可以写动态生成表格的关键代码了。我们写一个js方法供触发使用。
3、在tb标签中我们添加了input标签,主要是用来提供用户输入参数, 而全局变量num,主要是用来区分每一个添加的参数的id的唯一性而存在的。
4、获得表格中的数据。
5、拿到表格中的数据后,我们根据它值的形式把它转换成json格式的数据。