Вставить, если условие внутри javascript функции с HTML выходом - PullRequest
0 голосов
/ 30 апреля 2020

Я пытаюсь обновить скрипт, написанный кем-то другим, и мне нужна помощь, так как я не работаю в Javascript часто. Сценарий является частью опроса SurveyGizmo, поэтому может использовать некоторые синтаксис / функции, не стандартные в Javascript.

Сценарий ниже работает. Он берет результаты теста каждой категории и печатает сообщение, сохраненное в другой переменной в опросе. Есть 5 категорий. Результат выглядит следующим образом:

Оценка категории 1

Сообщение категории 1

Оценка категории 2

Сообщение категории 2

et c ..

Ниже этого кода мой вопрос.

function sgapiQuizResults(){
  %%html .= '<div class="recommendations"><div class="something">Recommendations</div>'; 
  foreach (sgapiQuizMessages() as %%category => %%message) {
    %%html .= '<div class="recommendation '. sgapiCSSClassName(%%category) .'">';
      %%html .= '<div class="header">' . %%category .'</div>';
      %%html .= '<div class="graphic">'. sgapiScore(%%category) . '</div>';
      %%html .= '<div class="content">' . %%message . '</div>';
    %%html .= '</div>';
  }
  %%html .= '</div>';
  return %%html;
}

Я хотел бы изменить это, чтобы добавить дополнительные сообщения, которые не могут быть сохранены в Переменная. По сути, я хотел бы добавить условие, подобное следующему:

if ( Number(sgapiGetValue(8)) < 3 ) {
      %%html .= "Message for Question 8";
}
if ( Number(sgapiGetValue(9)) < 3 ) {
      %%html .= "Lorem Ipsum for 9";
}
if ( Number(sgapiGetValue(10)) < 3 ) {
      %%html .= "Dolor for 10";
}
... and so on ...

Результат которого будет выглядеть следующим образом:

Категория 1 Оценка

Категория 1 Сообщение

Сообщение для вопроса 8

Оценка категории 2

Сообщение категории 2

Lorem Ipsum для 9

et c ..

Мне удалось просто добавить &&html .= 'Hello World'; к коду, распечатав это сообщение для каждой категории; однако всякий раз, когда я пытаюсь включить условное выражение, сценарий прерывается.

Любая помощь будет принята с благодарностью!

1 Ответ

0 голосов
/ 30 апреля 2020
function sgapiQuizResults(){
  %%html .= '<div class="recommendations"><div class="something">Recommendations</div>'; 
  foreach (sgapiQuizMessages() as %%category => %%message) {
      %%html .= '<div class="recommendation '. sgapiCSSClassName(%%category) .'">';
      %%html .= '<div class="header">' . %%category .'</div>';
      %%html .= '<div class="graphic">'. sgapiScore(%%category) . '</div>';
      %%html .= '<div class="content">' . %%message . '</div>';
      if ( Number(sgapiGetValue(8)) < 3 ) {
          %%html .= '<div class="content">Message for Question 8</div>';
      }
      if ( Number(sgapiGetValue(9)) < 3 ) {
          %%html .= '<div class="content">Lorem Ipsum for 9</div>';
      }
      if ( Number(sgapiGetValue(10)) < 3 ) {
          %%html .= '<div class="content">Dolor for 10</div>';
      }
      %%html .= '</div>';
  }
  %%html .= '</div>';
  return %%html;
}

исправлено. можно попробовать это?

...