我有 4 个复选框。我在检查时将它们的值添加到数组中。它看起来像这样。
这是我拥有的四个复选框。
<input type="checkbox" value="degree">
<input type="checkbox" value="pgd">
<input type="checkbox" value="hnd">
<input type="checkbox" value="advdip">
一旦我检查了所有四个,数组就变成了,
["degree", "pgd", "hnd", "advdip"]
当我取消选中一个复选框时,我需要根据其正确的索引号从数组中删除它的值。我用过splice(),但它总是删除第一个索引,即degree. 无论我取消选择哪个复选框,我都需要根据其索引号从数组中删除该值。希望有人帮忙。下面是代码。提前致谢!
<input type="checkbox" value="degree">
<input type="checkbox" value="pgd">
<input type="checkbox" value="hnd">
<input type="checkbox" value="advdip">
<script>
function getLevels() {
// get reference to container div of checkboxes
var con = document.getElementById('course-levels');
// get reference to input elements in course-levels container
var inp = document.getElementsByTagName('input');
// create array to hold checkbox values
var selectedValues = [];
// collect each input value on click
for (var i = 0; i < inp.length; i++) {
// if input is checkbox
if (inp[i].type === 'checkbox') {
// on each checkbox click
inp[i].onclick = function() {
if ($(this).prop("checked") == true) {
selectedValues.push(this.value);
console.log(selectedValues);
}
else if ($(this).prop("checked") == false) {
// get index number
var index = $(this).index();
selectedValues.splice(index, 1);
console.log(selectedValues);
}
}
}
}
}
getLevels();
</script>
Cats萌萌
长风秋雁
慕村225694
www说
相关分类