Показать сообщение отдельно
  #3 (permalink)  
Старый 08.05.2020, 15:37
Кандидат Javascript-наук
Отправить личное сообщение для od0201 Посмотреть профиль Найти все сообщения от od0201
 
Регистрация: 07.05.2020
Сообщений: 108

попробуйте поменять подход
<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
<div class="main"></div>
</body>
</html>
<script>
  const arr=[];
  arr.push({id:1,question:'вопрос 1', level:1, correctAnswer:2, answer:['ответ 1 на 1','ответ 2 на 1','ответ 3 на 1','ответ 4 на 1']})
  arr.push({id:2,question:'вопрос 2', level:1, correctAnswer:4, answer:['ответ 1 на 2','ответ 2 на 2','ответ 3 на 2','ответ 4 на 2']})
  arr.push({id:3,question:'вопрос 3', level:1, correctAnswer:1, answer:['ответ 1 на 3','ответ 2 на 3','ответ 3 на 3','ответ 4 на 3']})
  arr.push({id:4,question:'вопрос 4', level:1, correctAnswer:3, answer:['ответ 1 на 4','ответ 2 на 4','ответ 3 на 4','ответ 4 на 4']})

  arr.sort(()=>Math.random() - 0.5)
  for(let i=0;i<2 && i<arr.length-1;i++) {
    const item=arr[i]
    const ellAnswer=`<select onchange="choice(${item.id},this.options[this.selectedIndex].value)">${item.answer
      .map((a,ii)=>`<option value="${ii}">${a}</option>`)
      .join('')}</select>`
    const allBlock=`<div id="question${item.id}">
       <div>${item.question}</div>
       <div>${ellAnswer}</div>
       <div class="correctAnswer">ответ не выбран</div>
       <div>=====================</div>
    </div>`

    const ell=document.createElement('div')
    ell.innerHTML=allBlock
    document.querySelector('div.main')
      .appendChild(ell)
  }
  function choice(id,n) {
    document.querySelector(`div#question${id} div.correctAnswer`).textContent=`на вопрос ${id} получен ответ ${n}`
// здесь нам известно id вопроса и n ответа, ищем в массиве элемент вопрос и сравниваем n с correctAnswer
//https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/find
  }
</script>

Последний раз редактировалось od0201, 08.05.2020 в 15:58.
Ответить с цитированием