Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Копирование значений нескольких сгенерированных input (https://javascript.ru/forum/jquery/84309-kopirovanie-znachenijj-neskolkikh-sgenerirovannykh-input.html)

vasoli 03.08.2022 10:23

Копирование значений нескольких сгенерированных input
 
Ниже указаны код создает несколько input с полями для заполнения. Как после нажатии button2 скопировать все заполненные значения input?

$(document).ready(function() {
   $('.sum_value input').click(function() {
     $('#options_value2').html('');
     $('input:checkbox:checked').each(function() {
       $('#options_value2').append($(this).val() + '<input class="text" type="text" value="Мой текст" /><br>');
     });
   });
 });

 $('#button2').on('click', () => {
   let textX = $('#text').html();
   textX = textX;
   
   navigator.clipboard.writeText(textX);
 });

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<div class="grid_css">
    <div class="column_1">
      <ul id="accordion">
        <li>
          <div class="line_All_green">

            <div class="sum_value">

              <div id="1" class="table-td">
                <input type="checkbox" value="11111" id="1_1"><span>A 1</span>
              </div>
              <div id="2" class="table-td">
                <input type="checkbox" value="22222" id="2_2"><span>B 2</span>
              </div>
              <div id="3" class="table-td">
                <input type="checkbox" value="33333" id="3_3"><span>C 3</span>
              </div>

            </div>
          </div>
        </li>
      </ul>

    </div>

    <div class="column_3">
      <div class="options_sum" id="options_sum">Sum: <span></span></div>Value:
      <div class="options_value2" id="options_value2">
        <p id="options_value2" class="options_value2"></p>
      </div>
      
      <button id="button2" class="button2" > Copy </button>
    </div>
  </div>

рони 03.08.2022 10:51

vasoli,
<!DOCTYPE html>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
    </style>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>
        $(document).ready(function() {
            $('.sum_value input').click(function() {
                $('#options_value2').html('');
                $('input:checkbox:checked').each(function() {
                    $('#options_value2').append($(this).val() + '<input class="text" type="text" value="Мой текст" /><br>');
                });
            });

            $('#button2').on('click', () => {
                let textX = $.makeArray($('.options_value2 input')).map(({
                    value
                }) => value);
                navigator.clipboard.writeText(textX);
            });

        });
    </script>
</head>

<body>
    <div class="grid_css">
        <div class="column_1">
            <ul id="accordion">
                <li>
                    <div class="line_All_green">
                        <div class="sum_value">
                            <div id="1" class="table-td">
                                <input type="checkbox" value="11111" id="1_1"><span>A 1</span>
                            </div>
                            <div id="2" class="table-td">
                                <input type="checkbox" value="22222" id="2_2"><span>B 2</span>
                            </div>
                            <div id="3" class="table-td">
                                <input type="checkbox" value="33333" id="3_3"><span>C 3</span>
                            </div>
                        </div>
                    </div>
                </li>
            </ul>
        </div>
        <div class="column_3">
            <div class="options_sum" id="options_sum">Sum: <span></span></div>Value:
            <div class="options_value2" id="options_value2">
            </div>
            <button id="button2" class="button2"> Copy </button>
        </div>
    </div>
</body>

</html>

vasoli 03.08.2022 12:05

Спасибо. По моему то что хотел. А как выводы скопированое не строкой, а построчно?

рони 03.08.2022 12:11

vasoli,
navigator.clipboard.writeText(textX.join('\n'));

vasoli 03.08.2022 16:55

Цитата:

Сообщение от рони (Сообщение 547090)
vasoli,
navigator.clipboard.writeText(textX.join('\n'));

Большое спасибо.

vasoli 03.08.2022 20:08

а можно заодно копировать и значения например span?

рони 03.08.2022 20:16

vasoli,
???

vasoli 03.08.2022 20:26

Цитата:

Сообщение от рони (Сообщение 547122)
vasoli,
???

чтоб получалось так:
A 1 Мой текст1
B 2 Мой текст2
....

рони 03.08.2022 21:39

vasoli,
$('#button2').on('click', () => {
                let span = $('.table-td span');
                let textX = $.makeArray($('.options_value2 input')).map(({
                    value
                }, i) => `${span.eq(i).text()} ${value}`).join('\n');
                navigator.clipboard.writeText(textX);
            });

vasoli 03.08.2022 21:50

Еще раз спасибо! Вопрос не очень по теме. Можете подсказать где лудше и конечно же бесплатно научиться ТАКОМУ?


Часовой пояс GMT +3, время: 14:24.