使用jquery对更改时的值进行计数

使用jquery对更改时的值进行计数,jquery,Jquery,为什么这样不行? 它告诉我有1个输入,加载时有一个值,这是正确的。 但是,如果我添加或删除一个值,它仍然会说我有1个带值的输入 <head> <script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script> <script> $(document).

为什么这样不行? 它告诉我有1个输入,加载时有一个值,这是正确的。 但是,如果我添加或删除一个值,它仍然会说我有1个带值的输入

<head>
<script language="javascript" type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script>
$(document).ready(function(){

alert($('#myForm input[type=text][value!=""]').length);

$('#myForm input[type=text]').change(function(){
    alert($('#myForm input[type=text][value!=""]').length);
})

});
</script>
</head>

<body>
<div id="myForm">
   <input type="text" value="foo" name="f1">
   <input type="text" value="" name="f2">
</div>
</body>

$(文档).ready(函数(){
警报($('#myForm input[type=text][value!='').length);
$('#myForm输入[type=text]')。更改(函数(){
警报($('#myForm input[type=text][value!='').length);
})
});

您选择的元素的属性
等于
'
(空字符串),属性值没有改变,只是更新dom对象的value属性。因此,使用根据更新的值进行过滤


$(文档).ready(函数(){
警报($('#myForm input[type=text][value!='').length);
$('#myForm输入[type=text]')。更改(函数(){
警报($('#myForm input[type=text]')。筛选器(函数(){
返回此值。值=='';
}).长度);
})
});

@user1001421:很乐意帮忙:)