Computer >> Máy Tính >  >> Lập trình >> Javascript

Cách nhận giá trị thả xuống với JavaScript

Khi bạn học cách xây dựng biểu mẫu web, một trong những nhiệm vụ phổ biến nhất là lấy giá trị từ trình đơn thả xuống. Trong bài viết này, chúng ta sẽ tìm hiểu cách nhận các giá trị như vậy bằng JavaScript.

Phần tử HTML thả xuống

Hãy tóm tắt nhanh về cách tạo phần tử thả xuống bằng HTML. Hãy theo dõi Codepen của tôi nếu bạn bị lạc.

Để tạo phần tử thả xuống, chúng ta cần sử dụng select gắn thẻ và sử dụng tùy chọn option những đứa trẻ nép mình dưới nó. Phần tử select tạo menu thả xuống và với các thẻ tùy chọn, chúng tôi xác định các tùy chọn đó sẽ hiển thị trong menu thả xuống.

Hãy tạo danh sách thả xuống gồm các loại trái cây yêu thích của chúng ta (có biểu tượng cảm xúc).

<select name="fruits" id="fruits">
  <option value="">--select--</option>
  <option value="avocado">Avocado🥑</option>
  <option value="watermelon">Watermelon🍉</option>
  <option value="kiwi">Kiwi🥝</option>
  <option value="tomato">Tomato🍅</option>
</select>
<h2 id="pick"></h2>

Chúng tôi đã thêm một h2 trống mà chúng tôi sẽ điền bằng JavaScript sau. Tại thời điểm này, bạn có thể chọn trái cây yêu thích của mình:

Cách nhận giá trị thả xuống với JavaScript

Lưu ý tầm quan trọng của thuộc tính giá trị . Thuộc tính này cung cấp cho chúng tôi dữ liệu không cách điệu mà chúng tôi có thể dễ dàng phát bằng JavaScript. Mặt khác, văn bản bên trong thẻ tùy chọn có thể là khá nhiều thứ, vì vậy nó không đáng tin cậy. Thuộc tính giá trị là điều quan trọng ở đây.

Chọn và hiển thị các giá trị thả xuống bằng JavaScript

Trước hết, chúng ta cần chọn danh sách trái cây thả xuống bằng cách sử dụng getElementById trên thẻ chọn.

const element = document.getElementById("fruits");

Bây giờ danh sách thả xuống của chúng tôi đã được chọn, chúng tôi có thể nhận được giá trị của tùy chọn hiện đang được chọn. Theo mặc định, đây là tùy chọn đầu tiên. Hãy thử điều đó:

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình đã dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

const checkValue = element.options[element.selectedIndex].value;
const checkText = element.options[element.selectedIndex].text;

Ở đây chúng tôi đang truy cập thuộc tính mảng tùy chọn phần tử. Sau đó, chúng tôi chọn chỉ mục của tùy chọn hiện được chọn và truy cập giá trị hoặc văn bản của nó.

Bây giờ hãy thử console.log cả hai biến. Điều gì xảy ra? Không. Tại sao? Bởi vì phần tử đầu tiên của chúng tôi có một giá trị trống (nó chỉ là một trình giữ chỗ). Nhận xét tùy chọn đầu tiên và thử lại. Yay! Chúng tôi nhận được cả giá trị và văn bản bằng javascript.

Nghe các thay đổi thả xuống với JavaScript

Chúng tôi nên làm cho trình đơn thả xuống của chúng tôi trở nên động vì JavaScript được thiết kế để phản ứng với những thay đổi trong trang của bạn. Với ý nghĩ đó, chúng tôi sẽ chỉ định một eventListener đến yếu tố trái cây của chúng tôi.

element.addEventListener("change", (e) => {
  const value = e.target.value;
  const text = element.options[element.selectedIndex].text;
 
  if (value) {
    document.getElementById("pick").textContent = `Value Selected: ${value}`;
  } else {
    document.getElementById("pick").textContent = "";
  }
});

Với eventListener của chúng tôi chúng tôi đang lắng nghe sự thay đổi trong trình đơn thả xuống của chúng tôi. Lưu ý cách bạn cũng có thể nhận giá trị của tùy chọn đã chọn bằng cách thực hiện e.target.value , điều này có thể bạn đã thấy trong một hướng dẫn khác về biểu mẫu.

Chúng tôi đã đến. Bây giờ bạn có thể chọn bất kỳ tùy chọn trái cây nào và JavaScript đang phản ứng với những thay đổi trong trình đơn thả xuống của chúng tôi và cập nhật h2 của chúng tôi cho phù hợp. Rất hiệu quả phải không!

Cách nhận giá trị thả xuống với JavaScript

Kết luận

Nhận các giá trị thả xuống là một kỹ năng quan trọng khi bạn học phát triển web. Các giá trị chúng tôi nhận được rất quan trọng nếu chúng tôi muốn cập nhật cơ sở dữ liệu, hiển thị lựa chọn cho người dùng hoặc chỉ 'phản ứng' với các thay đổi của DOM. Với JavaScript, chúng ta có thể nhận được những giá trị như vậy ngay lập tức.