Как скопировать результат в буфер
При отмечении чекбоксов внизу появляется результат. Как при нажатии на button "Copy" скопировать только полученный результат в буфер?
// sum
$(document).ready(function () {
$('.sum_value input').click(function () {
var sum = 0;
$('.sum_value input').each(function () {
if ($(this).is(':checked')) {
sum = sum + parseFloat($(this).parent().find('span').text().replace(/[^0-9.,]/gim, ''));
}
});
sum = sum.toLocaleString() + '';
sum = sum.replace(',', '.');
$('.options_sum span').html(sum);
});
});
// value
$(document).ready(function () {
$('.sum_value input').click(function () {
$('#options_value').html('');
$('input:checkbox:checked').each(function () {
$('#options_value').append($(this).val() + '<br>');
});
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script src="js_script.js" defer></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_2">
<div class="options_sum" id="options_sum">Sum: <span></span></div>Value:
<div class="options_value" id="options_value">
<p id="options_value" class="options_value"></p>
</div>
<button> Copy </button>
</div>
</div>
Ответы (1 шт):
Автор решения: Jean-Claude
→ Ссылка
Для этого достаточно одной строки navigator.clipboard.writeText('some string') - описание.
$(document).ready(function() {
$('.sum_value input').click(function() {
var sum = 0;
$('.sum_value input').each(function() {
if ($(this).is(':checked')) {
sum = sum + parseFloat($(this).parent().find('span').text().replace(/[^0-9.,]/gim, ''));
}
});
sum = sum.toLocaleString() + '';
sum = sum.replace(',', '.');
$('.options_sum span').html(sum);
});
});
// value
$(document).ready(function() {
$('.sum_value input').click(function() {
$('#options_value').html('');
$('input:checkbox:checked').each(function() {
$('#options_value').append($(this).val() + '<br>');
});
});
$('button').on('click', () => {
let text = $('#options_value').html();
text = text.replaceAll('<br>', "\n");
navigator.clipboard.writeText(text);
});
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/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_2">
<div class="options_sum" id="options_sum">Sum: <span></span></div>Value:
<div class="options_value" id="options_value">
<p id="options_value" class="options_value"></p>
</div>
<button> Copy </button>
</div>
</div>