我有8个表单输入,要求8个半天活动日期或4个完整日期。
我收集了所有的input values
并将它们放入一个数组中,并测试了收集过程,编写了以下函数,只是说如果所有输入都是空的,则保持一个按钮被禁用,如果ALL已满,启用按钮。
function checkMeetings()
{
for(var i = 0; i < meetings.length; i++)
{
if(meetings[i] === "" || meetings[i] === null)
{
meetingsCanSubmit = false;
}
else
{
meetingsCanSubmit = true;
}
}
}
checkMeetings();
该测试工作正常。
我想要做的是创建一个计数器,该计数器计算已填写的输入框的数量以及在>= 4
启用按钮时的数量。 (实际上,它不会启用按钮,它将运行辅助功能,但出于本示例的目的,我保持简单。)
因为for循环正在通过i ++进行计数,所以我尝试了一些
的效果 if(meetings[i] <= 4)
执行以下操作,但似乎并没有做到这一点。我应该在if语句中设置第二个计数器吗?
答案 0 :(得分:0)
您可以使用Array.prototype.filter()
,查看结果数组的.length
var meetingsCanSubmit = meetings.filter(function(input) {
return input !== "" && input != null
}).length >= 4;
if (meetingsCanSubmit) {
// do stuff
}