是否可以在没有jQuery的情况下使用CoffeeScript创建1个衬里,让我知道是否有任何没有值的输入?
这会检查它,但如果可能的话我想改进它
any_blank_fields = false
for field in $('form input[type="text"]')
any_blank_fields = true if field.value == ''
答案 0 :(得分:1)
这是可能的,但我认为这不是最干净或最好的解决方案:
any_blank_fields = '' in (field.value for field in $('form input[type="text"]'))
in
运算符检查左侧的数值是否存在于右侧的数组中。括号内的循环将jQuery对象数组映射到字段值的数组中。
有一些jQuery特定的解决方案可能会更好用,例如使用filter
(请参阅此question)。这是CoffeeScript版本:
emptyFields = $('form input[type="text"]').filter -> this.value is ''
这将返回所有空字段的数组,您可以使用
将其转换为布尔值!!emptyFields.length # as zero values are falsey
如果您的所有输入元素在HTML中都有value
属性,则可以使用:
anyEmptyFields = $('form input[type="text"][value=""]').length > 0