0
我有一張表格,最終應該有5列,我希望能夠排序,但只能查看一列「Name」的值。這是我的函數看起來像至今:按特定列內容的表格
function RenderResultsByName() {
//Declaration of variables
var nameInput, nameFilter, ul, li, a, i;
//Set the variables accorging to matching id's
//Name
nameInput = document.getElementById('nameInput');
nameFilter = nameInput.value.toUpperCase();
ul = document.getElementById("UL");
li = document.getElementsByTagName('tr');
console.log(li[0]);
//Loop trough items and hide those who don't match the query-->
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName("td")[0];
if (a.innerHTML.toUpperCase().indexOf(nameFilter) > -1) {
li[i].style.display = "";
}
else {
li[i].style.display = "none";
}
}
}
的HTML看起來像這樣
<div class="row">
<div class="col-md-3">
<label>Namn: </label><br />
<input type="text" id="nameInput" onkeyup="RenderResultsByName()" placeholder="Sök efter namn..." /> <br /> <br />
</div>
</div>
<br /><br />
<table id="UL" class="table table-bordered">
<tr>
<th>Name</th>
<th>Yada</th>
<th>Yada</th>
<th>Yada</th>
<th>Yada</th>
</tr>
@foreach (var item in Model)
{
<tr>
<td>@item.visitor.FullName</td>
</tr>
}
</table>
我試圖在名稱列在所有的應用類「tdOfName」,但經過該排序停止工作,因爲變量變得未定義。
你會如何解決這個問題?
你可以添加html代碼嗎?公平地說,你的循環似乎不會按名稱排序。 –
創建一個值的數組,然後使用數組方法來完成您的任務(如過濾器和排序)。 – evolutionxbox