Chefranov
@Chefranov
Новичок

Как собрать и разобрать строку?

Имеется несколько input'ов, всё что в них вписывается надо одновременно записать в другой input (скрытый) разделяя полученные данные точкой с запятой (текст1;текст2;текст3;)

Затем необходимо сохраненную строку (текст1;текст2;текст3;) разобрать и вывести в HTML.

Приведите пример как это делается. Заранее благодарен.
  • Вопрос задан
  • 101 просмотр
Решения вопроса 3
0xD34F
@0xD34F Куратор тега JavaScript
HTML
<div class="inputs">
  <input><input><input>
</div>
<input class="concatenated">
<button class="show-result">show result</button>
<div class="result"></div>


JS

document.querySelector('.inputs').addEventListener('input', function() {
  document.querySelector('.concatenated').value = Array
    .from(this.querySelectorAll('input'), n => n.value)
    .filter(Boolean)
    .join(';');
});

document.querySelector('.show-result').addEventListener('click', function() {
  document.querySelector('.result').innerHTML = document.querySelector('.concatenated')
    .value
    .split(';')
    .map(n => `<div>${n}</div>`)
    .join('');
});


JQ
$('.inputs').on('input', function() {
  $('.concatenated').val($('input', this)
    .get()
    .map(n => $(n).val())
    .filter(Boolean)
    .join(';')
  );
});

$('.show-result').on('click', function() {
  $('.result').html($('.concatenated')
    .val()
    .split(';')
    .map(n => `<div>${n}</div>`)
    .join('')
  );
});
Ответ написан
dimovich85
@dimovich85 Куратор тега JavaScript
https://u-academy.net/
https://jsfiddle.net/8tccxeyd/
Вот, коряво, на скорую руку, но суть такая.
Ответ написан
Комментировать
Ivanq
@Ivanq
Знаю php, js, html, css
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Serhioromano
@Serhioromano
Web Developer
var text = $('input').val().join(', ')
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
21 нояб. 2024, в 19:28
200000 руб./за проект
21 нояб. 2024, в 19:09
5000 руб./за проект
21 нояб. 2024, в 17:47
7000 руб./за проект