javascript - 如果类型的第一个选择器返回 true,则 if 语句返回 true

标签 javascript jquery if-statement

下面是一些代码,用于确保如果具有属性 data-fill="fill" 的输入值等于 '',人们就无法提交。我的问题是它从第一个输入到最后一个输入检查 IF 语句。这意味着如果第一个输入有值,则表单将提交;如果前两个输入已填充,它将提交,依此类推...如果第一个输入未填充,则它适用于其他输入。是否可以确保它在返回 true 或 false 之前检查所有输入?

$('form').submit(function() {
     var input = $('input, textarea');

     if (input.data('fill') == 'fill' && input.val() == '') {
         return false;
     } 
});

我知道我可以通过使用“else if”单独定位每个输入来解决这个问题,但这似乎是错误的方法。

最佳答案

要考虑所有输入值,请使用each方法。

$('form').submit(function() {    
   var allFilled = true;
   $('input, textarea').each(function () {
     if ($(this).data('fill') === 'fill' && $(this).val() === '') {
       allFilled = false;
     }
   });

   return allFilled;
});

关于javascript - 如果类型的第一个选择器返回 true,则 if 语句返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9878002/

相关文章:

jquery - 以 3 组为一组选择 <li>

jquery - Owl Carousel 没有响应。仍然认为它应该在较小的屏幕上显示 3 "slides"

jquery - 实现 History.js HTML4 回退

java - 计算 Arraylist 中具有特定属性的项目

带问号的 JavaScript src

javascript - Firefox 打开新选项卡而不是 JavaScript 代码

javascript - 检测输入占位符是否可见

javascript - Lodash中如何将数组转换为对象?

python - 如何遍历嵌套循环并枚举

excel - 从数字中识别文本的 Google 表格/Excel 公式