- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一张 table 。我想根据输入值过滤表的值。但目前该表没有过滤。我使用 onkeyup 函数来过滤。 jsfiddle 链接如下。
function filterTable() {
var q = document.getElementById("tabFilter");
var v = q.value.toLowerCase();
var rows = document.getElementsByTagName("tr");
var on = 0;
for ( var i = 0; i < rows.length; i++ ) {
var fullname = rows[i].getElementsByTagName("td");
fullname = fullname[0].innerHTML.toLowerCase();
if ( fullname ) {
if ( v.length == 0 || (v.length < 3 && fullname.indexOf(v) == 0) || (v.length >= 3 && fullname.indexOf(v) > -1 ) ) {
rows[i].style.display = "";
on++;
} else {
rows[i].style.display = "none";
}
}
}
var n = document.getElementById("noresults");
if ( on == 0 && n ) {
n.style.display = "";
document.getElementById("qt").innerHTML = q.value;
} else {
n.style.display = "none";
}
}
最佳答案
textContent
而不是 innerHTML
,因为 innerHTML
也会选择 HTMLElement
index
作为 2 而不是在 0
索引处,没有要过滤的 name
列fullname &&
条件if (fullname.length) {
元素之前放置 index
条件。var obj = [{
Firstname: "Bob",
Lastname: "Mayer",
Email: "bob@mayer.com",
Number: "123456789"
}, {
Firstname: "Steven",
Lastname: "Spil",
Email: "steven@spill.com",
Number: "987654321"
}, {
Firstname: "Paul",
Lastname: "Taucker",
Email: "paul@tack.com",
Number: "578954321"
}, {
Firstname: "computer",
Lastname: "Tech",
Email: "comp@tech.com",
Number: "418741876"
}, {
Firstname: "User",
Lastname: "Interface",
Email: "user@inter.in",
Number: "949796928"
}];
var editCounter = 0;
var table = document.createElement('table');
table.id = "table";
var headcell = document.createElement('th');
var cell = document.createElement('td');
var input = document.createElement('input');
var tableContainer = document.createElement('div');
document.body.appendChild(tableContainer);
var filter = document.createElement('input');
filter.type = "text";
filter.placeholder = "Filter";
filter.id = "tabFilter";
filter.setAttribute("onkeyup", "filterTable()");
tableContainer.appendChild(filter);
var formContainer = document.createElement('form');
formContainer.id = "details";
document.body.appendChild(formContainer);
function createTable() {
tableContainer.appendChild(table);
var row = document.createElement('tr');
table.appendChild(row);
headcell = document.createElement('th');
row.appendChild(headcell);
headcell.innerHTML = "Select";
headcell = document.createElement('th');
row.appendChild(headcell);
headcell.innerHTML = "Sl.No";
Object.keys(obj[0]).forEach(function(val) {
headcell = document.createElement('th');
row.appendChild(headcell);
headcell.innerHTML = val;
});
for (var i = 0; i < obj.length; i++) {
var btnSave = document.createElement('button');
btnSave.innerHTML = "Save";
var btnEdit = document.createElement('input');
btnEdit.type = "button";
btnEdit.value = "Edit";
var checkbox = document.createElement('input');
checkbox.type = "checkbox";
checkbox.id = "checkBox";
var row = document.createElement("tr");
table.appendChild(row);
var cell = document.createElement("td");
row.appendChild(cell);
cell.appendChild(checkbox);
var cell = document.createElement("td");
row.appendChild(cell);
cell.innerHTML = i;
for (key in obj[i]) {
var cell = document.createElement("td");
row.appendChild(cell);
cell.innerHTML = obj[i][key];
}
}
return true;
}
createTable();
function filterTable() {
var q = document.getElementById("tabFilter");
var v = q.value.toLowerCase();
var rows = document.getElementsByTagName("tr");
var on = 0;
for (var i = 0; i < rows.length; i++) {
var fullname = rows[i].getElementsByTagName("td");
if (fullname.length) {
fullname = fullname[2].textContent.toLowerCase();
if (fullname && v.length == 0 || (v.length < 3 && fullname.indexOf(v) == 0) || (v.length >= 3 && fullname.indexOf(v) > -1)) {
rows[i].style.display = "";
on++;
} else {
rows[i].style.display = "none";
}
}
}
}
* {
font-family: 'verdana'
}
table {
margin-bottom: 15px
}
input {
margin: 5px
}
th,
td {
border: 1px solid #ccc;
font: 13px'verdana';
padding: 5px
}
th {
font-weight: bold
}
table [type="text"],
table [type="email"],
table [type="number"] {
display: block;
width: 90px
}
[value="Delete"],
[value="Copy"] {
display: block
}
关于javascript - 搜索在 js 的表中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36708879/
今天有小伙伴给我留言问到,try{...}catch(){...}是什么意思?它用来干什么? 简单的说 他们是用来捕获异常的 下面我们通过一个例子来详细讲解下
我正在努力提高网站的可访问性,但我不知道如何在页脚中标记社交媒体链接列表。这些链接指向我在 facecook、twitter 等上的帐户。我不想用 role="navigation" 标记这些链接,因
说现在是 6 点,我有一个 Timer 并在 10 点安排了一个 TimerTask。之后,System DateTime 被其他服务(例如 ntp)调整为 9 点钟。我仍然希望我的 TimerTas
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the
我就废话不多说了,大家还是直接看代码吧~ ? 1
Maven系列1 1.什么是Maven? Maven是一个项目管理工具,它包含了一个对象模型。一组标准集合,一个依赖管理系统。和用来运行定义在生命周期阶段中插件目标和逻辑。 核心功能 Mav
我是一名优秀的程序员,十分优秀!