2017-02-10 9 views
0

У меня есть подмешать что выглядит следующим образом:Вызов подмешать несколько раз в зависимости от выбранного варианта

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 

В зависимости от количества комнат выбран идентификатор любят умножать + norooms подмешать.

Пример, если 3 были выбраны id, как для отображения + ноломов три раза.

Любая помощь была бы оценена по достоинству, не уверен, что решение с помощью Pug или просто чистый Javascript, но плохой совет (просто без jquery).

У меня есть pen, на который вы можете посмотреть.

сторона примечание: когда я пытаюсь настроить консоль журнала req.body.rooms, он продолжает возвращать # {i}, а не фактический textContent.

ответ

1

Это не разрешено с помощью Pug, так как оно не статично (Pug запускается только один раз, прежде чем HTML будет отправлен клиенту). Посмотрите на клиентские библиотеки обработки событий, такие как jQuery, которые обрабатывают события выбора. Затем вы можете умножить элемент соответствующим образом, например. с методом .clone().

О вашей ноте: интерполяция атрибута is not supported anymore в Pug. Просто скажите value=id.

+0

Я вижу, спасибо, что нашли время, чтобы объяснить. Я принимаю ваш ответ :) – Hjosef