检查 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
是否可以不使用 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