级联选择

在这个示例中,我们将展示如何使一个 select 中的值取决于另一个 select 中选择的值。

首先,我们为 make 选择设置默认值:奥迪。我们渲染此品牌的 model 选择。然后,我们让 make 选择触发一个 GET 请求到 /models,以检索模型选项并定位 models 选择。

以下是代码:

<div>
    <label >Make</label>
    <select name="make" hx-get="/models" hx-target="#models" hx-indicator=".htmx-indicator">
      <option value="audi">Audi</option>
      <option value="toyota">Toyota</option>
      <option value="bmw">BMW</option>
    </select>
  </div>
  <div>
    <label>Model</label>
    <select id="models" name="model">
      <option value="a1">A1</option>
      ...
    </select>
    <img class="htmx-indicator" width="20" src="/img/bars.svg">
</div>

当向 /models 端点发出请求时,我们返回该品牌的模型

<option value='325i'>325i</option>
<option value='325ix'>325ix</option>
<option value='X5'>X5</option> 

这些模型将在 model 选择中可用。

服务器请求 ↑ 显示

🔗演示