Home > Web Front-end > JS Tutorial > How to use JavaScript to achieve drop-down box linkage effect?

How to use JavaScript to achieve drop-down box linkage effect?

WBOY
Release: 2023-10-20 15:57:11
Original
1319 people have browsed it

如何使用 JavaScript 实现下拉框联动效果?

How to use JavaScript to achieve the drop-down box linkage effect?

In developing web pages, drop-down box linkage is a common interactive effect. It dynamically changes the option content of another drop-down box by selecting an option in one drop-down box, thereby achieving linkage between the two. This article will introduce how to use JavaScript to achieve the linkage effect of drop-down boxes, and attach specific code examples.

  1. HTML Structure

First, we need to create two drop-down boxes and add id attributes to them so that JavaScript can select them. The following is a simple HTML structure example:

<select id="province">
  <option value="0">请选择省份</option>
  <option value="1">北京</option>
  <option value="2">上海</option>
  <option value="3">广东</option>
</select>

<select id="city">
  <option value="0">请选择城市</option>
</select>
Copy after login
  1. JavaScript code

Next, we use JavaScript to implement the linkage of the drop-down box. The specific implementation ideas are as follows:

  • When the option of the first drop-down box changes, the onchange event is triggered.
  • In the onchange event, the options of the second drop-down box are dynamically generated based on the option value of the first drop-down box.
  • If the "Please select a province" option is selected, the second drop-down box will be cleared.
  • If you select a specific province, the corresponding city options will be generated in the second drop-down box based on the value of the province.

The following is a specific JavaScript code example:

// 获取下拉框元素
const provinceDropdown = document.getElementById('province');
const cityDropdown = document.getElementById('city');

// 给第一个下拉框添加 onchange 事件
provinceDropdown.addEventListener('change', function() {
  // 获取选择的省份值
  const selectedProvince = provinceDropdown.value;

  // 根据选择的省份值生成相应的城市选项
  if (selectedProvince === "1") {
    // 清空第二个下拉框的选项
    cityDropdown.innerHTML = '';

    // 添加北京的选项
    const option = document.createElement('option');
    option.value = '1';
    option.text = '北京';
    cityDropdown.add(option);
  } else if (selectedProvince === "2") {
    // 清空第二个下拉框的选项
    cityDropdown.innerHTML = '';

    // 添加上海的选项
    const option = document.createElement('option');
    option.value = '2';
    option.text = '上海';
    cityDropdown.add(option);
  } else if (selectedProvince === "3") {
    // 清空第二个下拉框的选项
    cityDropdown.innerHTML = '';

    // 添加广东的选项
    const option = document.createElement('option');
    option.value = '3';
    option.text = '广东';
    cityDropdown.add(option);
  } else {
    // 选择了“请选择省份”,清空第二个下拉框的选项
    cityDropdown.innerHTML = '';
  }
});
Copy after login
  1. Effect display

Finally, we view the effect in the browser. Selecting the province option in the first drop-down box will dynamically change the city option in the second drop-down box. If the "Please select a province" option is selected, the options in the second drop-down box will be cleared.

Through the above steps, we have successfully used JavaScript to achieve the linkage effect of the drop-down box.

Summary:

This article introduces how to use JavaScript to achieve the drop-down box linkage effect, and provides an explanation with specific code examples. By mastering this method, you can add more interactivity and dynamics to web pages and improve user experience. Hope this article helps you!

The above is the detailed content of How to use JavaScript to achieve drop-down box linkage effect?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template