JS实现的Select三级下拉菜单代码

阅读时长 4 分钟读完

介绍

在前端开发中,下拉菜单是常见的交互组件。在需要选择多级分类或者区域等信息时,通常会使用三级联动的下拉菜单来优化用户体验。本文将讲解如何使用JS实现一个Select三级下拉菜单。

整体思路

  • 通过HTML创建三个Select元素
  • 将第二个和第三个Select元素禁用
  • 当第一个Select元素选项变更时,根据其值动态生成第二个Select元素的选项,并启用该元素
  • 当第二个Select元素选项变更时,根据其值动态生成第三个Select元素的选项,并启用该元素
  • 最后,获取各级Select元素的选中值,进行后续处理

代码实现

-- -------------------- ---- -------
------- -------------
  ------- ---------------------
  ------- ----------------------
  ------- ----------------------
  ------- ----------------------
---------
------- ------------ ---------
  ------- ---------------------
---------
------- ------------ ---------
  ------- ---------------------
---------

上面的代码创建了三个Select元素,其中第二个和第三个元素均被禁用。

接着,我们需要编写JavaScript代码,在第一个Select元素选项变更时动态生成第二个Select元素的选项,并启用该元素。

-- -------------------- ---- -------
----- ------- - -----------------------------------
----- ------- - -----------------------------------
----- ------- - -----------------------------------

----- ---- - -
  -- -
    --- -------
    --- -------
    --- ------
  --
  -- -
    --- -------
    --- -------
    --- ------
  --
  -- -
    --- -------
    --- -------
    --- ------
  -
--

---------------------------------- ---------- -
  ----- ----- - -----------
  ----------------- - -------- -----------------------
  ----------------- - -------- -----------------------
  -- ------- -
    --- ---- --- -- ------------ -
      ----- ------ - ---------------------------------
      ------------ - ----
      ---------------- - -----------------
      ----------------------------
    -
    ---------------- - ------
  - ---- -
    ---------------- - -----
  -
  ---------------- - -----
---

上面的代码中,我们定义了一个data对象,其键值对分别表示第一个Select选项值对应的第二个Select选项和第三个Select选项。在第一个Select元素选项变更时,我们首先清空第二个和第三个Select元素的选项,并禁用第三个元素。然后根据当前选项值从data对象中获取对应的选项,并创建<option>元素添加到第二个Select中,最后启用第二个Select元素。

接下来,我们需要在第二个Select元素选项变更时动态生成第三个Select元素的选项,并启用该元素。

-- -------------------- ---- -------
---------------------------------- ---------- -
  ----- ----- - -----------
  ----------------- - -------- -----------------------
  -- ------- -
    --- ---- --- -- --------------------------- -
      ----- ------ - ---------------------------------
      ------------ - ----
      ---------------- - --------------------------------
      ----------------------------
    -
    ---------------- - ------
  - ---- -
    ---------------- - -----
  -
---

上面的代码中,我们首先清空第三个Select元素的选项。然后根据当前第一和第二个Select元素的选项值从data对象中获取对应的选项,并创建

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/3994

纠错
反馈