javascript - 根据所选选项多次调用 mixin

标签 javascript pug

我有一个如下所示的 mixin:

mixin getrooms
  div
    label
    select
      - for (var i = 1; i <= 10; i++) {
        if i === 1
           option(value='#{i}') #{i} room
        else
           option(value='#{i}') #{i} rooms
      - }
+getrooms

mixin norooms
  div
    label Room Type:
    input(type='text', placeholder='Room Type', name='roomType')

+norooms  

根据所选房间的数量,ID喜欢乘以+norooms mixin。

例如,如果选择了 3 个 id,则显示 +norooms 三次。

任何帮助将非常感激,不确定解决方案是使用 Pug 还是纯粹的 Javascript,但我会接受任何建议(请不要使用 jquery)。

我有一个pen你可以看看。

旁注:当我尝试控制台记录 req.body.rooms 时,它不断返回 #{i} 而不是实际的 textContent。

最佳答案

这无法用 Pug 解决,因为它是非静态的(Pug 仅在 HTML 发送到客户端之前调用一次)。查看客户端事件处理库,例如处理选择事件的 jQuery。然后您可以适本地乘以该项目,例如与 .clone()方法。

关于您的注释:属性插值is not supported anymore在帕格。只需说 value=id

关于javascript - 根据所选选项多次调用 mixin,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42164240/

相关文章:

javascript - 从数组中删除重复项只返回一个对象

php - 在 PHP 中对 HAML、JADE 和 HTML 进行基准测试?

javascript - jQuery 替换 Node+jade 组合中的 Span

javascript - 将 html 代码结果保存为 .gif 或其他视频

javascript - 无法从 xpage 上选项卡式面板中的编辑框中读取值

javascript - jQuery 在对话框中重置表单验证

javascript - 检查 URL 中的 GET 变量

javascript - 函数.参数问题

node.js - 在jade中快速上传图片并查看

html - Jade If 语句不适用于变量