我试图检查至少有一个输入是否有值。下面的代码目前正在检查所有输入是否有值,我只需要检查数组中的一个是否包含值。
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;
}
我能做些什么来实现这个目标?任何帮助都会很棒,谢谢!
答案 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;
}