function t(){ var obj = document.getElementById("select1"); //obj.options.add(new Option("我的吃吃","4")); var index=obj.selectedIndex; var val = obj.options[index].text;
var arrayNum = new Array(); //创建一个数组 var arrayRow = new Array();
var tabel = document.getElementById("tb"); for(var i = 0 ; i<table.rows.length ;i++){ if(val==tabel.rows[i].cells[3]){ arrayNum.push(i); arrayRow.push(table.rows[i]); } }
还是不行,我贴上代码帮给我看看,思路有什么问题么?第一次写js代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script language="javascript" > function s(){ var tb = document.getElementById("tb"); } function t(){ var obj = document.getElementById("select1"); //obj.options.add(new Option("我的吃吃","4")); var index=obj.selectedIndex; var val = obj.options[index].text;
var num ; //满足筛选条件的数量 var arrayRow = new Array();//创建一个数组
var tabel = tb; for(var i = 0 ; i<table.rows.length ;i++){ if(val==tabel.rows[i].cells[3].innerHTML){ //根据第三列内容筛选
table.rows.length
table.rows[0].cells
table.rows[0].cells[0]var tr=table.insertRow([下标])
var td=tr.insertCell([下标])ie和firefox下操作table对象的异同
筛选思路是重新一行一行insert满足条件的表格行么?
表格原来全部是存在的,这样怎么清空?
for(var i=0;i<tds.length;i++){
tds[i].innerHTML="";
}
这样?
就是想做个类似excel筛选功能的而已。
给个思路,最好有代码。
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
<tr><td>1</td></tr>
</table>
<script>
window.onload=function(){
var tb=document.getElementById('tb');
while(tb.rows.length>0)tb.rows[0].parentNode.removeChild(tb.rows[0])
}
</script>
var obj = document.getElementById("select1");
//obj.options.add(new Option("我的吃吃","4"));
var index=obj.selectedIndex;
var val = obj.options[index].text;
var arrayNum = new Array(); //创建一个数组
var arrayRow = new Array();
var tabel = document.getElementById("tb");
for(var i = 0 ; i<table.rows.length ;i++){
if(val==tabel.rows[i].cells[3]){
arrayNum.push(i);
arrayRow.push(table.rows[i]);
}
}
while(tabel.rows.length>0){
tabel.rows[0].parentNode.removeChild(tabel.rows[0]);
} for(var j = 0 ; j <arrayNum.length ; j++){
tabel.rows[0].parentNode.addChild(tabel.rows[arrayRow.shift()]);
}这个样子写有什么错误么?
表示压力很大,我不知道有没有这些API。
还是不行,我贴上代码帮给我看看,思路有什么问题么?第一次写js代码<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" >
function s(){
var tb = document.getElementById("tb");
}
function t(){
var obj = document.getElementById("select1");
//obj.options.add(new Option("我的吃吃","4"));
var index=obj.selectedIndex;
var val = obj.options[index].text;
var num ; //满足筛选条件的数量
var arrayRow = new Array();//创建一个数组
var tabel = tb;
for(var i = 0 ; i<table.rows.length ;i++){
if(val==tabel.rows[i].cells[3].innerHTML){ //根据第三列内容筛选
num = arrayRow.push(table.rows[i]);
}
}
while(tabel.rows.length>0){
tabel.rows[0].parentNode.removeChild(tabel.rows[0]);
} for(var j = 0 ; j < num ; j++){
tabel.rows[0].parentNode.addChild(tabel.rows[arrayRow.shift()]);
}
tabel=tb;
}
</script>
</head><body onload="s()">
<div>
<label for="selectReason">原因:</label>
<select id="select1" name="selectReanson" onchange="t()">
<option>文件不一致</option>
<option>基准文件缺失</option>
<option>服务器文件缺失</option>
</select>
<table width="500" border= "1" id= "tb">
<tr>
<td> </td>
<td> </td>
<td>文件不一致</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>基准文件缺失</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>服务器文件缺失</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>基准文件缺失</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>基准文件缺失</td>
</tr>
</table>
</div>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script language="javascript" >
function t() {
var obj = document.getElementById("select1");
var index = obj.selectedIndex;
var val = obj.options[index].text;
//var tabel = document.getElementById("tb");//变量名称错了
var table = document.getElementById("tb");
for (var i = 0; i < table.rows.length; i++) {
table.rows[i].style.display = val == table.rows[i].cells[2].innerHTML ? '' : 'none';
}
}
</script>
</head>
<body>
<div>
<label for="selectReason">原因:</label>
<select id="select1" name="selectReanson" onchange="t()">
<option>...</option>
<option>文件不一致</option>
<option>基准文件缺失</option>
<option>服务器文件缺失</option>
</select>
<table width="500" border= "1" id= "tb">
<tr>
<td> </td>
<td> </td>
<td>文件不一致</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>基准文件缺失</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>服务器文件缺失</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>基准文件缺失</td>
</tr>
<tr>
<td> </td>
<td> </td>
<td>基准文件缺失</td>
</tr>
</table>
</div>
</body>
</html>
版主大人怎么不早点告诉我 table可以设置显示与不显示的,泪流满面。
我再试试看我那种思路行不行的通?
最后谢谢版主大人。