问题标签 [htmx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
htmx - 如何向当前元素的相对位置的元素发送事件
我有一个带有 class 的元素列表.node-display
,当单击它时它变成一个输入。我想捕获向下或向上箭头键以单击.node-display
列表中的下一个(相对于当前元素)。
在下面的示例中,按下应该单击项目 5,按下将单击项目 3。
- 1
- 2
- 3
- 4(当前选择)
- 5
- 6
我最好的猜测是这样的。
有谁知道我实际上是如何写这个表达式的?
javascript - htmx:onLoad:“在整页加载”和“在交换后”
我想用我自己的方法初始化一个类似于tom-select Exampleselect
的元素:
有两种不同的方式:
案例 1:加载整个页面
在这种情况下,您可以使用一种现代 onLoad 方法。
例如:
案例 2:片段通过 htmx 插入 DOM
如何初始化片段?
首选解决方案
我希望 HTML 和加载代码位于一个位置(行为的局部性),并且我希望此 html 片段在两种情况下都相同。
到目前为止,我不使用 Hyperscript 或 Alpine.js,但我愿意使用这些库之一,如果这使解决方案更简单的话。
javascript - Tom-Select 作为 Django 小部件
我想使用tom-select作为 Django 自动完成选择小部件。
在相应的数据库表(Runners)中有几百行,所以我不能全部加载到html页面中。
在模型RaceTeam
中,我有一个 ForeignKey Runner
。
选择小部件将用于整个页面和 html 片段(通过htmx)。
我尝试了 subclass django.forms.Select
,但这会将所有 db 行吸进widget.choices
.
javascript - 为什么这个键盘快捷键在 htmx 中不起作用?
- 访问https://htmx.org/examples/keyboard-shortcuts/
- 键入 alt-shift-D。没有什么。(这是错误。)
- 单击按钮,更改为“Did it”。(显示按钮有效,但不适用于我的键盘快捷键。)
我不知道如何调试。
我在 OS X 10.14.6 上使用 Chrome 版本 90.0.4430.85 (Official Build) (x86_64)。
我尝试了隐身模式(因为这会关闭大多数?扩展)。
我查看了 Chrome 调试器控制台,没有看到任何错误,也没有警告。
我尝试了 command-shift-D,以防万一,但是在 chrome 中添加了书签,因此采用了组合键。
我在 Safari 版本 14.1 (14611.1.21.161.5) 中尝试过。组合键不起作用。
我还在https://github.com/bigskysoftware/htmx/issues/467记录了这一点。
另外:我在 chrome 调试器中尝试monitor(window, "keydown")
并在窗口中输入。没有什么。我试过了monitor(document, "keydown")
,同样的事情。我尝试monitor(window, "click")
并单击了按钮。没有什么。按钮更改为“做到了!”,所以我知道点击有效。我不明白如何使用监视器界面。
javascript - HTMX 的多个触发器?
我想知道是否可以为 HTMX 启用多种触发器类型。我想做的是在内容更改或页面加载时触发 HTMX。到目前为止,如果我在 中包含两种触发器类型hx-trigger
,则只执行第一个触发器;因此在下面的示例中,仅在内容更改时触发 HTMX。
htmx - htmx:基于表单中的所有单选按钮触发
我正在尝试根据表单中任何单选按钮的更改来触发表单的 ht-get,而无需用户点击提交按钮。因此,我尝试使用带有 from:find 功能的表单上的 hx-trigger 属性,但我在控制台中不断收到 htmx:syntax:error 并且没有触发。
<form action="/cvss/calc" method="get" id="cvss-calc" novalidate hx-get="/cvss/calc/cvss_details_html" hx-trigger="from:find form#cvss-calc .btn-check">
所有单选按钮都定义了 btn-check 类。我也试过from:find .btn-check
,但这也不起作用。
这样做的正确格式是什么?
更新:我想通了,我显然是想太花哨了。我将 hx-trigger 更改为“更改”,并且由于表单只有单选框,因此效果非常好。
不过,知道如何仅从特定的输入集监听变化信号仍然很好。
htmx - 在 HTMX 中按类别从项目列表中获取 ID
我们在一个表中有许多行,每个表行都有一个 HTML id="itemid-1234" 等。
我们想做的是找到一种方法来选择所有具有“已选择”类的 tr,并能够将所有这些 id 传递给我们的 PHP/Ajax 调用脚本。直接 jQuery Ajax 调用相对微不足道,但没有看到任何使用 HTMX 的东西。
flask - HTMX 表单提交与表格
我正在尝试通过使用表格来使用带有 HTMX的Click to Edit示例。
每行 ( <tr>
) 是一个数据库记录,如下所示:
不幸的是,当我在服务器request.form.keys
上打印请求正文时flask
,我看到请求是空的([]
)
似乎按钮单击没有触发所有输入字段的表单提交。
如何使按钮单击触发填充所有字段的表单提交?
htmx - 如何在不使用 htmx 加载的情况下导航 html 页面
我想加载一个 html 页面而不使用 htmx 刷新页面。例如,如果我在 http://localhost/sample/home 并且我想导航到联系我们页面,我单击联系链接并加载联系页面内容而不刷新页面。可能吗?