我正在运行一个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/

10-12 12:53
查看更多