jQuery:空无法使用输入

时间:2015-06-23 15:42:17

标签: javascript jquery jquery-selectors

我在使用jQuery' s时出现问题:空伪选择器。基本上,它不像我认为的那样对输入进行处理。鉴于这个HTML,我试图计算所有没有循环的值的输入。

<div id="sampleDiv">
<label>My first Input:</label>
<input name="test" id="firstInput" type="text" value="default text" /><br/><br/>
<label>My second Input:</label>
<input name="test" id="secondInput" type="text" value="" /><br/><br/>
<label>My third Input:</label>
<input name="test" id="thirdInput" type="text" value="" />

我正在使用像这样的选择器

$('#sampleDiv input:empty').length

但它返回3,包括有价值的那个。这里有小提琴,感谢您的帮助!: https://jsfiddle.net/chas688/b5fad3Lu/

3 个答案:

答案 0 :(得分:2)

:empty选择器旨在查看元素的子元素。这就是为什么它在这种情况下不一定适合你。相反,您可以选择value属性:

$('#sampleDiv input[value=""]').length;

Example

filter()

$('#sampleDiv input').filter(function() {
    return this.value == '';
}).length;

Example

答案 1 :(得分:0)

scoped_lock代表空HTML而不是空值!你必须这样使用:

:empty

或使用count = 0; $('#sampleDiv input').each(function () { if ($(this).val().length == 0) count++; });

.filter()

答案 2 :(得分:0)

这个适用于所有输入文本。 https://jsfiddle.net/b5fad3Lu/2/

var pl = $('input:text[value=""]').length;
$('#numberofEmpty').text( pl );