使用jQuery / Javascript检查数组中是否至少有一个输入值

时间:2017-05-13 22:43:59

标签: javascript jquery

我试图检查至少有一个输入是否有值。下面的代码目前正在检查所有输入是否有值,我只需要检查数组中的一个是否包含值。

var returnValue = true;
var listOfInputs = [
    $("#entry_bg"),
    $("#entry_carbs"),
    $("#entry_bolus"),
    $("#entry_correction"),
    $("#entry_food"),
    $("#entry_notes")
];


listOfInputs.forEach(function(e) {
    if (!e.val()) {
        returnValue = false;
    }
});

if (!returnValue) {
    return false;
}

我能做些什么来实现这个目标?任何帮助都会很棒,谢谢!

3 个答案:

答案 0 :(得分:2)

您可以使用Array#some

return listOfInputs.some(function(e) {
    return e.val() != '';
});

答案 1 :(得分:1)

您应该查看Array.protoype.some

  

some()对数组中的每个元素执行一次回调函数,直到找到一个回调返回真值的文件

const hasAtLeastOneValue = listOfInputs.some(input => !!input.val());

答案 2 :(得分:0)

似乎最简单的解决方案是检查具有值并设置returnValue = true的元素。

var returnValue = false;
var listOfInputs = [
    $("#entry_bg"),
    $("#entry_carbs"),
    $("#entry_bolus"),
    $("#entry_correction"),
    $("#entry_food"),
    $("#entry_notes")
];

listOfInputs.forEach(function(e) {
    if (e.val()) {
        returnValue = true;
    }
});

if (!returnValue) {
    openErrorModal(".entry_submit", "Add Entry", "You must fill out at least one input in order to add an entry.", "#entry_modal");
    return false;
}