<html>
<head>
<meta charset="utf-8">
<title>table篩選</title>
<script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
</head>
<body >
<div > <input name="key" type="text" id="key" onkeydown="onSearch(this)" /></div>
<table id="ks_table" onclick="doclick()">
<tr><td>這是表頭</td> </tr>
<tr><td>這是第二行</td> </tr>
<tr><td>這是第三二行</td></tr>
<tr><td>這是第wu行</td></tr>
<tr><td>這是第四行</td></tr>
</table>
<script>
function onSearch(obj){//js函數(shù)開始
//alert(rowNo)
setTimeout(function(){//因為是即時查詢鲁捏,需要用setTimeout進行延遲髓考,讓值寫入到input內(nèi)卜录,再讀取
var storeId = document.getElementById('ks_table');//獲取table的id標(biāo)識
var rowsLength = storeId.rows.length;//表格總共有多少行
var key = obj.value;//獲取輸入框的值
//if(key=='') alert("key");
var searchCol = 0;//要搜索的哪一列孕索,這里是第一列甩牺,從0開始數(shù)起
for(var i=0;i<rowsLength;i++){//按表的行數(shù)進行循環(huán)嘲碱,本例第一行是標(biāo)題,
var searchText = storeId.rows[i].cells[searchCol].innerHTML;//取得table行址否,列的值
if(searchText.match(key))
{//用match函數(shù)進行篩選餐蔬,如果input的值,即變量 key的值為空佑附,返回的是ture用含,
// 找到篩選行后,先清空之前的選中行狀態(tài)
storeId.rows[i].style.display='';//顯示行操作帮匾,
}
else storeId.rows[i].style.display='none';//隱藏行操作
}
},200);//200為延時時間
}
//這是操作表格的代碼
var rowNo= 0;
var tableId = 'ks_table';
var inputId = 'show';
var selectedColor = "blue" //"#FF0000"
var tablelen=document.getElementById(tableId).rows.length
document.getElementById(tableId).rows[0].style.backgroundColor=selectedColor;
function doclick() {
var td = event.srcElement; // 通過event.srcElement 獲取激活事件的對象 td
hanghao= td.parentElement.rowIndex;
for(var k=0;k<tablelen;k++)
{
document.getElementById(tableId).rows[k].style.backgroundColor="#FFFFFF";
}
// alert("行號:" + (td.parentElement.rowIndex ) + ",內(nèi)容:" + td.innerText);
document.getElementById(tableId).rows[hanghao].style.backgroundColor=selectedColor
document.getElementById(inputId).value=document.getElementById(tableId).rows[hanghao].innerText;
rowNo=hanghao;
// var tab = document.getElementById("test");
//表格行數(shù)
// var rows = tab.rows.length;
//表格列數(shù)
//var cells = tab.rows.item(0).cells.length;
//alert("行數(shù)" + rows + "列數(shù)" + cells);
// alert(rowNo)
}
document.onkeydown=function(event)
{ //alert(event.keyCode)
//事件的標(biāo)識代碼
//alert("qian"+rowNo)
if (event.keyCode == 38 && rowNo > 0)
{
for(var k=0;k<tablelen;k++)
{
document.getElementById(tableId).rows[k].style.backgroundColor="#FFFFFF";
}
for(var k=0;k<tablelen;k++)
{ rowNo=rowNo-1;
if(document.getElementById(tableId).rows[rowNo%tablelen].style.display=='')
{ document.getElementById(tableId).rows[rowNo%tablelen].style.backgroundColor=selectedColor;
document.getElementById(inputId).value=document.getElementById(tableId).rows[rowNo%tablelen].innerText;
break;
}
else { rowNo=rowNo-1; continue; }
//alert("40hou"+rowNo);
}
//alert("38hou"+rowNo);
} // if (event.keyCode == 38 && rowNo > 0)
//事件的標(biāo)識代碼
if (event.keyCode== 40)
{
for(var k=0;k<tablelen;k++)
{
document.getElementById(tableId).rows[k].style.backgroundColor="#FFFFFF";
}
for(var k=0;k<tablelen;k++)
{ rowNo=rowNo+1;
if(document.getElementById(tableId).rows[rowNo%tablelen].style.display=='')
{ document.getElementById(tableId).rows[rowNo%tablelen].style.backgroundColor=selectedColor;
document.getElementById(inputId).value=document.getElementById(tableId).rows[rowNo%tablelen].innerText;
break;
}
else { rowNo=rowNo+1; continue; }
//alert("40hou"+rowNo);
}
}
}
</script>
<input type="text" id="show" value="do">
JS實現(xiàn)table行的上下鍵+鼠標(biāo)跳選, 帶模糊篩選
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來取劫,“玉大人匆笤,你說我怎么就攤上這事∑仔埃” “怎么了炮捧?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長惦银。 經(jīng)常有香客問我咆课,道長,這世上最難降的妖魔是什么扯俱? 我笑而不...
- 正文 為了忘掉前任书蚪,我火速辦了婚禮,結(jié)果婚禮上迅栅,老公的妹妹穿的比我還像新娘殊校。我一直安慰自己,他們只是感情好库继,可當(dāng)我...
- 文/花漫 我一把揭開白布箩艺。 她就那樣靜靜地躺著,像睡著了一般宪萄。 火紅的嫁衣襯著肌膚如雪艺谆。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼抹估,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了弄兜?” 一聲冷哼從身側(cè)響起药蜻,我...
- 正文 年R本政府宣布,位于F島的核電站罗标,受9級特大地震影響庸队,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜闯割,卻給世界環(huán)境...
- 文/蒙蒙 一彻消、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宙拉,春花似錦宾尚、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至锥忿,卻和暖如春牛郑,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背敬鬓。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 【蝴蝶效應(yīng)】 蝴蝶效應(yīng):上個世紀(jì)70年代,美國一個名叫洛倫茲的氣象學(xué)家在解釋空氣系統(tǒng)理論時說刽辙,亞馬遜雨林一只蝴蝶...
- 今天應(yīng)同學(xué)要求,需要寫一個像Excel那樣框選高亮甲献,并且實現(xiàn)框選區(qū)域?qū)崿F(xiàn)反選功能宰缤。要我用原生js寫,由于沒什么經(jīng)驗...