检查 1 行是否存在任何带有空白值的表单输入

Check if any form inputs exist with a blank value on 1 line

是否可以不使用 jQuery 并使用 CoffeeScript 创建一个 1 衬里,让我知道是否有任何输入没有值?

这会检查它,但如果可能我想改进它

any_blank_fields = false
for field in $('form input[type="text"]')
  any_blank_fields = true if field.value == ''

1。 Coffeescript 一行

这是可能的,但我认为这不是最干净或最好的解决方案:

any_blank_fields = '' in (field.value for field in $('form input[type="text"]'))

in运算符检查左边的值是否存在于右边的数组中。括号内的循环将 jQuery 对象数组映射到字段值数组。


2。 jQuery 过滤器

有一些 jQuery 特定的解决方案可能效果更好,例如使用 filter(参见 question)。这是 CoffeeScript 版本:

emptyFields = $('form input[type="text"]').filter -> this.value is ''

这个 returns 所有空字段的数组,您可以使用

将其转换为布尔值
!!emptyFields.length # as zero values are falsey

3。 CSS 选择器

如果您的所有输入元素在 HTML 中都有 value 属性,您可以使用:

anyEmptyFields = $('form input[type="text"][value=""]').length > 0