Как записать выбранное значение в скрытый инпут?

тоесть чекнутое значение в input type="hidden" с name

в первом блоке name="block1_check" во втором name="block2_check"

пробую так

$(document).on('change', '.reg__col', function(e) {
 const col = t.closest('.reg__col');
  if (col) {
   $(`[name="${t.name}_check"]`).val(col.innerText.trim());
  }

})
<div class="reg__col">
  <input id="r_1" type="radio" class="reg__block" checked="" name="block1">
  <label for="r_1" class="reg__elem">не указано</label>
</div>

<div class="reg__col">
  <input id="r_2" type="radio" class="reg__block" name="block1">
  <label for="r_2" class="reg__elem">текст 1</label>
</div>

<div class="reg__col">
  <input id="r_3" type="radio" class="reg__block" name="block1">
  <label for="r_3" class="reg__elem">текст 2 </label>
</div>

<input type="hidden" name="block1_check"  value="не указано" >

____________________________________________________________


<div class="reg__col">
  <input id="r_4" type="radio" class="reg__block" checked="" name="block2">
  <label for="r_4" class="reg__elem">не указано</label>
</div>

<div class="reg__col">
  <input id="r_5" type="radio" class="reg__block" name="block2">
  <label for="r_5" class="reg__elem">текст lorem 1</label>
</div>

<div class="reg__col">
  <input id="r_6" type="radio" class="reg__block" name="block2">
  <label for="r_6" class="reg__elem">текст lorem 2</label>
</div>

<input type="hidden" name="block2_check" value="не указано" >

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>


Ответы (1 шт):

Автор решения: DiD

$(document.forms[0]).on('input', function(e) {
  // я не в курсе сколько у вас блоков
  // возможно, имеет смысл использовать цикл
  // Но я сделал проще
  $('input[name="block1_check"]')
    .attr('value',$('input[name="block1"]:checked + label').html());
  // Как бы код ищет выделенный элемент, потом берет тег label, следующий за ним,
  // и всталяет как значение весь html-код, внутри этого тега label;  
  $('input[name="block2_check"]')
    .attr('value',$('input[name="block2"]:checked + label').html());

})
<form> <!-- тег, открывающий форму -->
<div class="reg__col">
  <input id="r_1" type="radio" class="reg__block" checked="" name="block1">
  <label for="r_1" class="reg__elem">не указано</label>
</div>

<div class="reg__col">
  <input id="r_2" type="radio" class="reg__block" name="block1">
  <label for="r_2" class="reg__elem">текст 1</label>
</div>

<div class="reg__col">
  <input id="r_3" type="radio" class="reg__block" name="block1">
  <label for="r_3" class="reg__elem">текст 2 </label>
</div>

<!-- Здесь заменил "hidden" на "text" чтобы было видно значение.
Код будет работать одинакого со скрытым элементом как с текстовым -->
<input type="text" name="block1_check"  value="не указано" >

____________________________________________________________


<div class="reg__col">
  <input id="r_4" type="radio" class="reg__block" checked="" name="block2">
  <label for="r_4" class="reg__elem">не указано</label>
</div>

<div class="reg__col">
  <input id="r_5" type="radio" class="reg__block" name="block2">
  <label for="r_5" class="reg__elem">текст lorem 1</label>
</div>

<div class="reg__col">
  <input id="r_6" type="radio" class="reg__block" name="block2">
  <label for="r_6" class="reg__elem">текст lorem 2</label>
</div>

<!-- Здесь заменил "hidden" на "text" чтобы было видно значение.
Код будет работать одинакого со скрытым элементом как с текстовым -->
<input type="text" name="block2_check" value="не указано" >
</form>  <!-- тег, закрывающий форму -->

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

→ Ссылка