我正在运行一个ajax脚本,它需要检查一个复选框列表来确定
是否选中复选框
它有价值吗
将值传递给函数文件
我的斗争是,如果没有选择任何内容,则传递的值为。当函数文件获取的值中没有任何内容时,它找不到匹配项并返回任何内容。
为了解决这个问题,我需要向文件传递一个空状态,或者在处理脚本的这一部分之前首先检查是否选中了某个项。
我用下面的脚本来做这个。但是,它无法识别项目何时被选中。
脚本:
if(document.getElementsByName('category').checked) {
var checkboxes = document.getElementsByName('category');
var category = "";
for (var i=0, n=checkboxes.length;i<n;i++)
{
if (checkboxes[i].checked)
{
category += ","+checkboxes[i].value;
}
}
if (category) category = category.substring(1);
}
HTML格式:
<div class="col-12">
<label class="h6 my-3 pr-0" id="audience" for="language">Audiences</label>
<div class="form-check">
<input class="form-check-input" name="audience" type="checkbox" id="26" value="adult">
<label class="form-check-label" for="26">Adult</label>
</div><div class="form-check">
<input class="form-check-input" name="audience" type="checkbox" id="28" value="children">
<label class="form-check-label" for="28">Children</label>
</div><div class="form-check">
<input class="form-check-input" name="audience" type="checkbox" id="27" value="teen">
<label class="form-check-label" for="27">Teen</label>
</div>
<input class="btn btn-accent mb-3 mt-3 mb-0 ajax" type="submit" id="submit" name="submit" value="Search">
</div>
问题:
如何在处理前选中复选框,或者在未选中任何复选框的情况下传递空值?
最佳答案
您需要通过调用addEventListener()
来附加事件侦听器。收听change
事件以检测复选框的勾选/取消勾选。
const checkbox = document.querySelector(
'input[name= category]'
);
checkbox.addEventListener('change', event => {
// insert your function
console.log(event)
});
关于javascript - 仅当复选框具有值时才显示Javascript?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54408972/