htmx:如何使每一行表现得像一个表格?

Posted

技术标签:

【中文标题】htmx:如何使每一行表现得像一个表格?【英文标题】:htmx: How to make each row behave like a form? 【发布时间】:2021-04-19 23:08:04 【问题描述】:

我想要一个这样的表格,并让每一行的行为都像<form>

如果用户点击“保存”,则只有当前行应该被提交到服务器。

<table>
 <tr>
  <th>Name</th>
  <th>Email</th>
  <th></th>
 </tr>
 <tr>
  <td><input type="text" name="name"></td>
  <td><input type="text" name="email"></td>
  <td><input type="submit" value="Save"></td>
 </tr> 
  <tr>
  <td><input type="text" name="name"></td>
  <td><input type="text" name="email"></td>
  <td><input type="submit" value="Save"></td>
 </tr> 
  <tr>
  <td><input type="text" name="name"></td>
  <td><input type="text" name="email"></td>
  <td><input type="submit" value="Save"></td>
 </tr> 
</table> 

我尝试了&lt;tr hx-post="..."&gt; ...,但这会提交所有输入元素,而不仅仅是当前行。

我玩过hx-include 和hx-params,但到现在都没有找到解决办法。

【问题讨论】:

我可以直接使用 css 来直接处理 htmx,而不是破解 htmx:***.com/questions/4035966/…(因为我不需要 colspan 或 rowspan)。 【参考方案1】:

由于表格元素的工作方式,您不能在此处真正使用包装元素,因此每行都有一个唯一 ID,并使用它来标识该行的输入。

您应该能够使用 ID 在输入上生成一个类,然后使用 hx-include 属性包含它们:

 <tr>
  <td><input class='row1-inputs' type="text" name="name"></td>
  <td><input class='row1-inputs' type="text" name="email"></td>
  <td><input hx-include='.row1-inputs' type="submit" value="Save"></td>
 </tr> 

【讨论】:

以上是关于htmx:如何使每一行表现得像一个表格?的主要内容,如果未能解决你的问题,请参考以下文章

excle表格里如何设置使每一行都会自动调节到最合适行高?

c++,怎么控制输出格式,使每一行格式相同,且对齐,就比如输出一个表格形式

如何使 Recycler View 表现得像 PlayStore Recycler Views

如何让数据网格表现得像 ctrl 键处于活动状态?

如何使 Material UI 图标表现得像锚标签?

如何让 list_blob 表现得像 gsutil