jquery中的空输入选择器不适用于已编辑的值

时间:2014-02-05 17:20:09

标签: jquery

给出html:

<input type="text" name="name1" value="">

我运行console.log( $('input[value='']).length );并获得1.

如果我然后在字段中输入一个值并再次运行console.log( $('input[value='']).length );我仍然得到1.什么给出了?选择器是否仅适用于表单的原始值?

如果我从开始设置值,即

<input type="text" name="name1" value="">

...当我运行console.log( $('input[value='']).length );

时,我得到预期的0

jquery有一个解决方法&lt; 1.8.3,(使用input:text[value='']代替),但&gt; = 1.9,这也不起作用。

小提琴http://jsfiddle.net/nZ27z/10/

2 个答案:

答案 0 :(得分:1)

当有人在某个字段中输入内容时,值属性会更改,而不会更改值属性

您可以这样做:

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

答案 1 :(得分:0)

使用此代码,如果您更改输入值,再次运行后您的长度将会改变。

console.log($( "input[name='name1']").val().length);