Tôi không có kiến thức về JavaScript, nhưng tôi đã cố gắng ghép mã này lại với nhau bằng cách sử dụng các bit và chốt từ các câu trả lời Stack Overflow khác nhau. Nó hoạt động tốt và nó xuất ra một mảng tất cả các hộp kiểm đã chọn trong tài liệu thông qua một hộp cảnh báo.
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;
}
Và để gọi nó, tôi sử dụng:
<button id="btn_test" type="button" >Check</button>
<script>
document.getElementById('btn_test').onclick = function() {
var checkedBoxes = getSelectedCheckboxes("my_id");
alert(checkedBoxes);
}
</script>
Bây giờ tôi muốn sửa đổi nó để khi tôi nhấp vào btn_test
nút, mảng đầu ra checkbx
được sao chép vào khay nhớ tạm. Tôi đã thử thêm:
checkbx = document.execCommand("copy");
hoặc là
checkbx.execCommand("copy");
ở cuối hàm và sau đó gọi nó như:
<button id="btn_test" type="button" onclick="getSelectedCheckboxes('my_id')">Check</button>
Nhưng nó không hoạt động. Không có dữ liệu nào được sao chép vào khay nhớ tạm.
.execCommand('copy')
sao chép lựa chọn trên một trang (nếu được phép trong tùy chọn của người dùng). Bạn có thể cố gắng xâu chuỗi mảng, sau đó điền vào một vùng văn bản với nó, chọn tất cả từ vùng văn bản và sau đó sao chép vớiexecCommand
. Khi dán, hãy nắm bắt sự kiện và phân tích cú pháp nội dung trở lại mảng.