htmx 不支持单个元素上为不同触发器(如 `keyup delay` 和 `change`)直接指定不同 `hx-target`,但可通过嵌套容器利用事件捕获与属性继承机制实现——外层容器响应 `change` 并更新 `#vendor_list`,内层容器响应 `keyup delay:500ms` 并更新 `#users_list`。
在 HTMX 中,hx-trigger 属性定义了何时发起请求,而 hx-target 指定了响应内容的插入位置。但 HTMX 的设计原则是:每个触发事件由最靠近事件源、且声明了对应 hx-trigger 的祖先元素处理,其 hx-target 优先级高于子元素。这意味着我们无法在同一个 上为不同触发条件分配不同目标——但可以巧妙利用 DOM 层级和属性继承来达成等效效果。
核心思路是:将 包裹在两层语义清晰的容器中,每层绑定一种触发器及对应的目标:
✅ 正确实现示例(含 Django CSRF 安全适配):
⚠️ 注意事项:

通过这种嵌套策略,你无需编写 JavaScript 即可实现“一输入、双目标、多逻辑”的交互模式,既保持了 HTMX 的声明式简洁性,又满足了复杂 UI 的精准更新需求。