Cách lọc/tìm kiếm bảng
- Trang trước Lọc danh sách
- Trang tiếp theo Lọc phần tử
Học cách sử dụng JavaScript để tạo bảng có thể lọc.
Lọc bảng
Cách sử dụng JavaScript để tìm kiếm dữ liệu cụ thể trong bảng.
Tên | Nước ngoài |
---|---|
Alfreds Futterkiste | Đức |
Berglunds snabbkop | Thụy Điển |
Island Trading | UK |
Koniglich Essen | Đức |
Laughing Bacchus Winecellars | Canada |
Magazzini Alimentari Riuniti | Ý |
Bắc/Nam | UK |
Paris specialites | Pháp |
Tạo bảng có thể lọc
Bước 1 - Thêm HTML:
<input type="text" id="myInput" onkeyup="myFunction()" placeholder="Tìm kiếm tên..."> <table id="myTable"> <tr class="header"> <th style="width:60%;">Tên</th> <th style="width:40%;">Quốc gia</th> </tr> <tr> <td>Alfreds Futterkiste</td> <td>Đức</td> </tr> <tr> <td>Berglunds snabbkop</td> <td>Thụy Điển</td> </tr> <tr> <td>Island Trading</td> <td>UK</td> </tr> <tr> <td>Koniglich Essen</td> <td>Đức</td> </tr> </table>
Bước 2 - Thêm CSS:
Đặt phong cách cho phần nhập và bảng:
#myInput { background-image: url('/css/searchicon.png'); /* Thêm biểu tượng tìm kiếm vào ô nhập */ background-position: 10px 12px; /* Đặt vị trí biểu tượng tìm kiếm */ background-repeat: no-repeat; /* Không lặp lại hình ảnh biểu tượng */ width: 100%; /* Độ rộng toàn bộ */ font-size: 16px; /* Tăng kích thước字体 */ padding: 12px 20px 12px 40px; /* Thêm một khoảng lề trong */ border: 1px solid #ddd; /* Thêm viền xám */ margin-bottom: 12px; /* Thêm một khoảng trống dưới ô nhập */ } #myTable { border-collapse: collapse; /* Kết hợp viền */ width: 100%; /* Độ rộng toàn bộ */ border: 1px solid #ddd; /* Thêm viền xám */ font-size: 18px; /* Tăng kích thước chữ */ } #myTable th, #myTable td { text-align: left; /* Đặt văn bản sang trái */ padding: 12px; /* Thêm lề trong */ } #myTable tr { /* Thêm đường底线 cho tất cả các hàng bảng */ border-bottom: 1px solid #ddd; } #myTable tr.header, #myTable tr:hover { /* Thêm màu nền xám cho tiêu đề bảng và khi chuột trỏ qua */ background-color: #f1f1f1; }
Bước 3 - Thêm JavaScript:
<script> function myFunction() { // Định nghĩa biến var input, filter, table, tr, td, i, txtValue; input = document.getElementById("myInput"); filter = input.value.toUpperCase(); table = document.getElementById("myTable"); tr = table.getElementsByTagName("tr"); // Duyệt qua tất cả các hàng bảng và ẩn những hàng không khớp với truy vấn tìm kiếm for (i = 0; i < tr.length; i++) { td = tr[i].getElementsByTagName("td")[0]; if (td) { txtValue = td.textContent || td.innerText; if (txtValue.toUpperCase().indexOf(filter) > -1) { tr[i].style.display = ""; } else { tr[i].style.display = "none"; } } } } </script>
Hướng dẫn:Nếu bạn muốn thực hiện tìm kiếm phân biệt chữ hoa thường, hãy xóa toUpperCase()
。
Hướng dẫn:Nếu bạn muốn tìm kiếm quốc gia (ký tự 1) thay vì 'tên' (ký tự 0), hãy đặt tr[i].getElementsByTagName('td')[0]
Thay đổi thành [1]。
Trang liên quan
Giáo trình:Cách lọc/tìm kiếm danh sách
- Trang trước Lọc danh sách
- Trang tiếp theo Lọc phần tử