我不了解JavaScript,但是我设法使用各种Stack Overflow答案中的点点滴滴将这些代码放在一起。它工作正常,并通过警报框输出文档中所有选中复选框的数组。
function getSelectedCheckboxes(chkboxName) {
var checkbx = [];
var chkboxes = document.getElementsByName(chkboxName);
var nr_chkboxes = chkboxes.length;
for(var i=0; i<nr_chkboxes; i++) {
if(chkboxes[i].type == 'checkbox' && chkboxes[i].checked == true) checkbx.push(chkboxes[i].value);
}
return checkbx;
}
并称之为:
<button id="btn_test" type="button" >Check</button>
<script>
document.getElementById('btn_test').onclick = function() {
var checkedBoxes = getSelectedCheckboxes("my_id");
alert(checkedBoxes);
}
</script>
现在,我想对其进行修改,以便在单击btn_test
按钮时将输出数组checkbx
复制到剪贴板。我尝试添加:
checkbx = document.execCommand("copy");
要么
checkbx.execCommand("copy");
在函数的末尾,然后像这样调用它:
<button id="btn_test" type="button" onclick="getSelectedCheckboxes('my_id')">Check</button>
但这行不通。没有数据复制到剪贴板。
.execCommand('copy')
将选择内容复制到页面上(如果用户首选项允许)。您可以尝试对数组进行字符串化,然后用它填充文本区域,从textarea中选择全部,然后使用复制execCommand
。粘贴时,捕获事件,然后将内容解析回数组。