我想计算表单中所有空的输入。对于空,我的意思是在修剪其值后它的值为空(如果用户插入空白也是空的)。 这个jquery计算它们,但它不包括修剪:
$(':text').filter('[value=""]').length
有什么jquery可用于在选择器中修剪吗?
感谢
答案 0 :(得分:11)
$(':text').filter(function () {
return $.trim($(this).val()).length === 0;
});
答案 1 :(得分:9)
虽然@ Domenic的答案中的the .filter()
method是一个很好的方法,但我的实现方式有点不同。
示例: http://jsfiddle.net/patrick_dw/mjuyk/
$('input:text').filter(function () {
return !$.trim(this.value);
});
input:text
。否则,jQuery需要观察 DOM中的每个元素,看它是否为type='text'
。 (See the docs.)this.value
比$(this).val()
更快。length
属性,因为空字符串是假的。所以只需使用!
运算符。或者您可以使用.filter()
的倒数,即the .not()
method:
示例: http://jsfiddle.net/patrick_dw/mjuyk/1/
$('input:text').not(function () {
return $.trim(this.value);
});
此外,您可以创建如下自定义选择器:
示例: http://jsfiddle.net/patrick_dw/mjuyk/2/
$.extend($.expr[':'], {
novalue: function(elem, i, attr){
return !$.trim(elem.value);
}
});
$('input:text:novalue')