JavaScript tìm hàng trong bảng

Ghi chú. Bài đăng này đã hơn một năm tuổi và vì vậy thông tin ở đây có thể đã lỗi thời. Nếu bạn phát hiện ra điều gì đó, vui lòng để lại nhận xét và chúng tôi sẽ cố gắng khắc phục

  • JavaScript tìm hàng trong bảng
    Chia sẻ cái này
  • JavaScript tìm hàng trong bảng
    Tweet cái này đi
  • JavaScript tìm hàng trong bảng
    Chia sẻ cái này

Sử dụng tập lệnh phía máy chủ để tìm kiếm mọi thứ có thể phức tạp hoặc đơn giản tùy theo tình huống yêu cầu. Tuy nhiên, nếu bạn có một bảng kết quả và bạn chỉ muốn bật tìm kiếm JavaScript đơn giản trên bảng đó thì đây có thể là tập lệnh dành cho bạn

Để tìm kiếm một bảng bằng JavaScript, bạn cần chia bảng thành các bit, điều này có thể được thực hiện bằng cách sử dụng hàm getElementsByTagName(), lấy tên của phần tử mà bạn muốn nắm bắt. Vì vậy, để lấy tất cả các hàng của bảng dưới dạng một mảng, bạn cần chuyển giá trị của tr

var rows = document.getElementsByTagName("tr");

Sau đó, chúng tôi có thể lặp qua các hàng này, lấy cột mà bạn muốn tìm kiếm, với mã sau

for ( var i = 0; i < rows.length; i++ ) {
  var fullname = rows[i].getElementsByTagName("td");
  fullname = fullname[0].innerHTML.toLowerCase();
}

Trước khi tiến xa hơn, chúng ta cần một biểu mẫu để người dùng có thể nhập thông tin và một bảng có thể được sử dụng để tìm kiếm. Đầu tiên là biểu mẫu, hành động của hộp nhập liệu sẽ khiến một hàm gọi là doSearch() được chạy, hàm này sẽ chứa mã tìm kiếm của chúng ta

Tiếp theo, bảng. Lưu ý rằng tôi đã thêm một hàng bổ sung vào cuối bảng này. Điều này sẽ được sử dụng để hiển thị ghi chú cho người dùng nếu họ đã nhập truy vấn không tìm thấy

One
Two
Three
Four
Five
Six
Seven
Eight

Điều đầu tiên chúng ta cần làm trong chức năng tìm kiếm của mình là chuẩn bị thuật ngữ tìm kiếm. Điều này biến chuỗi truy vấn thành chữ thường, sau đó chúng ta có thể khớp với cột của bảng

var q = document.getElementById("q");
var v = q.value.toLowerCase();

Bây giờ chúng ta có thể đi qua từng giá trị hàng và cố gắng khớp giá trị đó với giá trị trong chuỗi truy vấn. Nếu khớp thì hiển thị hàng, không khớp thì ẩn

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 = "";
      } else {
        rows[i].style.display = "none";
      }
    }
  }

Đây là chức năng đầy đủ, bao gồm mã để triển khai ghi chú không có kết quả

 

getElementsByTagName

  • Chia sẻ cái này
  • Tweet cái này đi
  • Chia sẻ cái này

JavaScript tìm hàng trong bảng

Được viết bởi. Philip Norton

Phil là người sáng lập và quản trị viên của #. viết mã và là một chuyên gia CNTT làm việc ở Tây Bắc Vương quốc Anh. Tốt nghiệp năm 2003 tại Đại học Aberystwyth với bằng Thạc sĩ Khoa học Máy tính Phil trước đây đã từng làm quản trị viên cơ sở dữ liệu, trên bàn trợ giúp CNTT, huấn luyện viên hệ thống, kiến ​​trúc web, tư vấn khả năng sử dụng, blogger và chuyên gia SEO. Phil có nhiều kinh nghiệm xây dựng và duy trì các trang web PHP cũng như làm việc với các công nghệ liên quan như JavaScript, HTML, CSS, XML, Flex, Apache, MySQL và Linux

Bạn muốn biết thêm?

Hãy để chúng tôi giúp. Thuê chúng tôi để cung cấp dịch vụ đào tạo, tư vấn, xử lý sự cố và hơn thế nữa

hỗ trợ chúng tôi

Hãy ủng hộ chúng tôi và cho phép chúng tôi tiếp tục viết bài

JavaScript tìm hàng trong bảng
Trở thành người bảo trợ

JavaScript tìm hàng trong bảng
Mua cho tôi một ly cà phê

Bình luận

liên kết cố định

Có cách nào để loại trừ một số hàng nhất định không. Điều gì sẽ xảy ra nếu tôi có một hàng tiêu đề phía trên "Một, Hai, Ba" được gọi là "Danh mục". Tôi có thể loại trừ điều đó và để nó luôn xuất hiện không?

alfred smith (Thu, 16/04/2009 - 16. 09)

liên kết cố định

Chắc chắn, làm điều đó khá dễ dàng và không cần thay đổi nhiều. Ngay sau vòng lặp for tìm kiếm từng cột, hãy thêm đoạn mã sau.

rows[0].style.display = "";
Điều này sẽ buộc hàng đầu tiên của bảng được hiển thị

philipnorton42 (Thứ sáu, 17/04/2009 - 07. 52)

liên kết cố định

Tôi chỉ cải thiện một chút mã

Hàm doSearch sẽ yêu cầu 2 tham số là tableId và queryId

________số 8

phần còn lại sẽ giống nhau

asipo (CN, 06/03/2011 - 08. 56)

liên kết cố định

 

 

 
 

ID

Name

Ext.

Phone

Email

1        
2        

IT Support

24/7 Emergency Helpline:

 

 

Entries Per Page
Displaying Page of

 

Andro (CN, 02/09/2012 - 04. 12)

liên kết cố định

trong ví dụ này, khi tôi gõ nhanh "a,s,d", (không có danh sách nào bắt đầu bằng "asd") biến mất và bảng trở nên trống rỗng. tại sao điều này xảy ra và làm thế nào để tôi khắc phục điều này?

emma (Thứ 6, 18/01/2013 - 06. 39)

liên kết cố định

Mã được thiết kế để ẩn bất kỳ thứ gì không phù hợp với tiêu chí bắt buộc. Vì vậy, nếu bạn nhập một thuật ngữ có trong bảng, bảng sẽ bị ẩn

philipnorton42 (Thứ sáu, 18/01/2013 - 09. 04)

liên kết cố định

Xin chào. Có cách nào để chỉ tìm kiếm cột 2? . Cảm ơn

Marco (CN, 02/08/2015 - 18. 57)

liên kết cố định

Xin chào @ philipnorton42 đoạn mã trên chỉ thực hiện tìm kiếm phần tử Đầu tiên của ROW nếu hàng có nhiều hơn một cột thì nó không tìm kiếm các giá trị khác

shubham (Thứ Tư, 26/10/2016 - 10. 28)

liên kết cố định

Xin chào, cảm ơn vì mã tuyệt vời này. Có cách nào để tìm kết quả KHÔNG bằng cụm từ tìm kiếm không

Ví dụ: nếu tôi nhập "Boston" vào hộp tìm kiếm, nó sẽ tìm thấy tất cả các hàng có Boston. Nhưng nếu tôi đặt một dấu chấm than trước Boston, ". Boston" , nó sẽ tìm thấy mọi thứ trừ Boston. Hoặc tốt hơn nữa, hai hộp, một để bao gồm và một để loại trừ. Vì vậy, tìm kiếm Boston sẽ trở lại

Làm cách nào để tìm kiếm một hàng trong bảng bằng JavaScript?

Để tìm kiếm một bảng bằng JavaScript, bạn cần phải chia bảng thành các bit, điều này có thể được thực hiện bằng cách sử dụng hàm getElementsByTagName() , chức năng này . Vì vậy, để lấy tất cả các hàng của bảng dưới dạng một mảng, bạn cần chuyển giá trị của tr. var rows = tài liệu.

Làm cách nào để lấy chỉ mục hàng của bảng trong JavaScript?

var index = $('bảng tr'). index(tr); Nếu không sử dụng JQuery, bạn có thể lặp qua tất cả phần tử TR để tìm TR phù hợp.

Làm cách nào để có được hàng đã chọn trong JavaScript?

Lưới dữ liệu JavaScript. Lựa chọn hàng. Chọn một hàng bằng cách nhấp vào hàng đó . Việc chọn một hàng sẽ xóa mọi lựa chọn trước đó trừ khi bạn nhấn giữ Ctrl trong khi nhấp. Chọn một hàng và giữ phím Shift trong khi nhấp vào hàng thứ hai sẽ chọn phạm vi.

Làm cách nào để lấy dữ liệu hàng của bảng trong JavaScript onclick?

Bạn có thể lấy chi tiết hàng lưới bên trong sự kiện nhấp chuột bằng cách chuyển phần tử đích đến phương thức “getRowInfo” của thành phần Lưới .