Как показать массив, разделенный coma no Jquery

#javascript #html #arrays

#javascript #HTML #массивы

Вопрос:

Я в конечном итоге пытаюсь показать массив в контейнере, который я создал в своем html. Однако большая часть помощи, которую я могу найти, использует jquery для этого проекта, мне не разрешено использовать jquery, кто-нибудь получил какую-либо помощь, вот как далеко я зашел.

Отправить Html

     <label for="yourAnswer">Your Selection:</label>
    <div class="textBox">
      <p id="yourAnswer"></p>
    </div>
 

Javascript

   var array = []
  var checkboxes = document.querySelectorAll('input[type=checkbox]:checked')

  for (var i = 0; i < checkboxes.length; i  ) {
    array.push(checkboxes[i].value)
  }
  //Below shows array in console for help
 console.log(array)

 const embedElements = () => {
   array.forEach(element => {
   document.getElementById('yourAnswer').innerHTML  =
   `${element}`;
   });
  };
 

Комментарии:

1. Как должен выглядеть ваш массив?

2. array.join()

3. Это должно выглядеть так C #, Javascript, C

Ответ №1:

Вы можете использовать Array.from для преобразования getElementsById результата в массив, а затем использовать .map(e => e.value) для извлечения значений, а затем использовать .join(', ') для разделения значений запятыми и пробелами.

 const embedElements = () => {
  document.getElementById('yourAnswer').innerHTML = 
     Array.from(document.querySelectorAll('input[type=checkbox]:checked'))
       .map(e => e.value)
       .join(', ');
}; 
 <label for="yourAnswer">Your Selection:</label>
    <input type="checkbox" id="checkA" value="A" checked><label for="checkA">A</label>
    <input type="checkbox" id="checkB" value="B" ><label for="checkB">B</label>
    <input type="checkbox" id="checkC" value="C" checked><label for="checkC">C</label>
<div class="textBox">
      <p id="yourAnswer"></p>
    </div>
    <button type="button" onclick="embedElements()" >Submit</button> 

Комментарии:

1. Это вроде как работает, но теперь, как насчет пробела после coma, также он должен работать при нажатии кнопки, которая, кажется, получает массив только при обновлении страницы. извините, что не удалось добавить кнопку в фрагмент html

2. <тип кнопки=»кнопка» onclick=»Встроенные элементы()» >Отправить</button>

3. Это вторичные проблемы. Но array.join принимает аргумент, который является строкой, которая будет использоваться в качестве разделителя. вы можете указать ', ' (пробел через запятую) в качестве разделительной строки. array.join(', ') . Я отредактировал свой ответ, чтобы сделать это.

4. @joshwebdev, спасибо за отзыв. Я переработал его, чтобы он работал в интерактивном режиме.