[英]How do i see if all my checkboxes are checked or not?
I am trying to check if all the checkboxes on my page is not checked.我正在尝试检查是否未选中我页面上的所有复选框。 This is what I came up with:
这就是我想出的:
var allCheckboxes = document.getElementsByClassName("cl");
console.log(allCheckboxes);
function checkCheckbox(allCheckboxes) {
for (let index = 0; index < allCheckboxes.length; index++) {
if (allCheckboxes[index].checked == false) {
console.log(allCheckboxes[index] + "is UNCHECKED")
}
else {
console.log(allCheckboxes[index] + "is CHECKED")
}
}
}
I have set the class 'cl' to every checkbox in my HTML-file.我已将 class 'cl' 设置为我的 HTML 文件中的每个复选框。
When I run the function, it will anyways ay that everything is unchecked, even if there is one that is checked.当我运行 function 时,它无论如何都会显示所有内容都未选中,即使有一个已选中。
Where i execute the function:我在哪里执行 function:
function generateGraph(url) {
//Here are the arrayes used to find the data in the json file
//These will be reset everytime the generate button is pressed
var arrayTheta = [];
var arrayRange = [];
var mcsArray = [];
var channelArray = [];
var caseArray = [];
//Getting the data from json-file (function) {NOTE: gotta figure out a way to get data from multible JSON-files}
async function getData(arrayRange, arrayTheta, url, graphLabels, mcsArray, channelArray, caseArray,) {
//Gets data from the JSON-file, were the url is the box that is checked
const response = await fetch(url);
const productData = await response.json();
for (let index = 0; index < productData.length; index++) {
arrayTheta.push(productData[index].theta);
arrayRange.push(productData[index].Range);
}
//The graph, copied from Chart.js, but changed for our prefrence
const ctx = document.getElementById('chart').getContext('2d');
window.myChart = new Chart(ctx,{ // having the "myChart" as a window. insted of const was sugested by someone on StackOverflow (makes the const global, i can therefor use it in another function)
type: 'line',
data: {
labels: arrayTheta,
datasets: [{
label: graphLabels,
data: arrayRange,
backgroundColor: 'rgba(255, 99, 132, 0.2)',
borderColor: 'rgba(255, 99, 132, 1)',
pointRadius: 0,
//The line under "tension: 0.4" makes the graph a little bit smoother
tension: 0.4
}]
},
options: {
scales: {
y: {
beginAtZero: true
}
,x: {
display: true,
type: 'linear'
}
}
}
});
document.getElementById('clear').disabled = false // Will enable the clear button
checkCheckbox(allCheckboxes)
}
I execute the function inside of another function.我在另一个 function 内部执行 function。
HTML: HTML:
<div class="grey-container">
<!--FIRST SPAN::Device-->
<!--IMPORTANT NOTE -- Span is for individual checklist-->
<span>
<ul>
<h3>Link Database (AP-STA)</h3>
<li>
<input type="checkbox" name="cl" class="device" id="PRM2143-PRM2142" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="PRM2143-PRM2142">PRM2143-PRM2142</label>
</li>
<li>
<input type="checkbox" name="PRM2143-PRM2143" class="device" id="PRM2143-PRM2143" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="PRM2143-PRM2143">PRM2143-PRM2143</label>
</li>
<li>
<input type="checkbox" name="PRM2143-PRM2141" class="device" id="PRM2143-PRM2141" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="PRM2143-PRM2141">PRM2143-PRM2141</label>
</li>
<li>
<input type="checkbox" name="PRM2141dish-PRM2142" class="device" id="PRM2141dish-PRM2142" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="PRM2141dish-PRM2142">PRM2141dish-PRM2142</label>
</li>
<li>
<input type="checkbox" name="PRM2141dish-PRM2141dish" class="device" id="PRM2141dish-PRM2141dish" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="PRM2141dish-PRM2141dish">PRM2141dish-PRM2141dish</label>
</li>
<li>
<input type="checkbox" name="PRM2141dish-PRM2141" class="device" id="PRM2141dish-PRM2141" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="PRM2141dish-PRM2141">PRM2141dish-PRM2141</label>
</li>
</ul>
</span>
<!--SECOND SPAN::Case-->
<span>
<ul>
<h3>Case Selection (AP-STA)</h3>
<li>
<input type="checkbox" name="Boresight-Boresight" id="Boresight-Boresight" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="Boresight-Boresight">Boresight-Boresight</label>
</li>
<li>
<input type="checkbox" name="Omni-Boresight" id="Omni-Boresight" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="Omni-Boresight">Omni-Boresight</label>
</li>
<li>
<input type="checkbox" name="Omni-Maxscan" id="Omni-Maxscan" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="Omni-Maxscan">Omni-Maxscan</label>
</li>
<li>
<input type="checkbox" name="Maxscan-Maxscan" id="Maxscan-Maxscan" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="Maxscan-Maxscan">Maxscan-Maxscan</label>
</li>
</ul>
</span>
<!--THIRD SPAN::mcs-->
<span>
<ul>
<h3>MCS</h3>
<li>
<input type="checkbox" name="0" id="mcs0" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs0">0</label>
</li>
<li>
<input type="checkbox" name="1" id="mcs1" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs1">1</label>
</li>
<li>
<input type="checkbox" name="2" id="mcs2" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs2">2</label>
</li>
<li>
<input type="checkbox" name="3" id="mcs3" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs3">3</label>
</li>
<li>
<input type="checkbox" name="4" id="mcs4" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs4">4</label>
</li>
<li>
<input type="checkbox" name="5" id="mcs5" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs5">5</label>
</li>
<li>
<input type="checkbox" name="6" id="mcs6" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs6">6</label>
</li>
<li>
<input type="checkbox" name="7" id="mcs7" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs7">7</label>
</li>
<li>
<input type="checkbox" name="8" id="mcs8" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs8">8</label>
</li>
<li>
<input type="checkbox" name="9" id="mcs9" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs9">9</label>
</li>
<li>
<input type="checkbox" name="10" id="mcs10" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs10">10</label>
</li>
<li>
<input type="checkbox" name="11" id="mcs11" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs11">11</label>
</li>
<li>
<input type="checkbox" name="12" id="mcs12" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="mcs12">12</label>
</li>
</ul>
</span>
<!--THIRD SPAN::Channel-->
<span>
<ul>
<h3>Channel</h3>
<li>
<input type="checkbox" name="1" id="channel1" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="channel1">1</label>
</li>
<li>
<input type="checkbox" name="2" id="channel2" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="channel2">2</label>
</li>
<li>
<input type="checkbox" name="3" id="channel3" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="channel3">3</label>
</li>
<li>
<input type="checkbox" name="4" id="channel4" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="channel4">4</label>
</li>
<li>
<input type="checkbox" name="5" id="channel5" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="channel5">5</label>
</li>
<li>
<input type="checkbox" name="6" id="channel6" class="cl" onchange="document.getElementById('reset').disabled = false, document.getElementById('generate').disabled = false">
<label for="channel6">6</label>
</li>
</ul>
</span>
<div id="button-container">
<button type="button" id="generate" onclick="generateGraph(url)" disabled><span>Generate</span> Chart</button>
<button type="button" id="clear" onclick="clearCanvas()" disabled><span>Clear</span> Chart</button>
<button type="button" id="reset" onclick="resetCheckbox()" disabled><span>Reset</span> Checkboxes</button>
</div>
<!--Canvas for charts-->
<div id="canvas-container">
<canvas id="chart"></canvas>
<canvas id="chart2"></canvas>
</div>
I hope this is enough code to help me, but if it is needed more information, just ask.我希望这是足够的代码来帮助我,但如果需要更多信息,请询问。 Thanks in advance!
提前致谢!
<html>
<script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"/>
<body>
<input type="checkbox" id="vehicle1" name="vehicle1" value="Bike">
<label for="vehicle1"> I have a bike</label>
<br>
<input type="checkbox" id="vehicle2" name="vehicle2" value="Car">
<label for="vehicle2"> I have a car</label>
<br>
<input type="checkbox" id="vehicle3" name="vehicle3" value="Boat">
<label for="vehicle3"> I have a boat</label>
<br>
</body>
<script>
$(document).ready(function(){
setInterval(function(){
var lstChk = $('input[type=checkbox]');
for(var i=0;i<lstChk.length;i++) { console.log(lstChk[i].checked); } },5000); });
</script>
<html>
here in every 5 second it will check all the check box, result will be print on console每隔 5 秒,它会检查所有复选框,结果将在控制台上打印
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.