Javascript jQuery计数具有值的输入字段数
在输入字段中输入值时,我想计算该行中总共有多少输入字段有值Javascript jQuery计数具有值的输入字段数,javascript,jquery,Javascript,Jquery,在输入字段中输入值时,我想计算该行中总共有多少输入字段有值 <div class="row"> <input type="text" class="input input1" /> <input type="text" class="input input2" /> <input type="text" class="input input2" /> </div> <div class="row">
<div class="row">
<input type="text" class="input input1" />
<input type="text" class="input input2" />
<input type="text" class="input input2" />
</div>
<div class="row">
<input type="text" class="input input1" />
<input type="text" class="input input2" />
<input type="text" class="input input2" />
</div>
jsiddle链接:使用$(field).val()
,您将检索字段中第一个元素的值。改用$(this).val()
:
$('.input').keyup(函数(){
变量字段=$(this.parent().children('.input');
var计数=0;
$(字段)。每个(函数(){
if($(this.val()){
计数++;
}
});
控制台日志(计数);
});代码>
使用$(field).val()
,您将检索字段中第一个元素的值。改用$(this).val()
:
$('.input').keyup(函数(){
变量字段=$(this.parent().children('.input');
var计数=0;
$(字段)。每个(函数(){
if($(this.val()){
计数++;
}
});
控制台日志(计数);
});代码>
您可以使用。首先选择图元,然后在其是否有值时对其进行过滤:
函数示例(){
常量$row=$('.row');
常量长度=$row.find('input').filter(函数(){
返回this.value.length!==0;
}).长度;
控制台日志(长度);
}
按我代码>您可以使用。首先选择图元,然后在其是否有值时对其进行过滤:
函数示例(){
常量$row=$('.row');
常量长度=$row.find('input').filter(函数(){
返回this.value.length!==0;
}).长度;
控制台日志(长度);
}
按我代码>您在找到的字段中循环,但使用了相同的字段变量,该变量包含所有字段以查找值。相反,你必须这样做-
$('.input').keyup(function () {
var field = $(this).parent().find('.input');
var count = 0;
$(field).each(function (i) {
var len = $(this).val().length;
if (len > 0 ) {
count++;
}
});
alert(count);
});
Fiddle:您在已找到的字段中循环,但使用了相同的字段变量,该变量包含所有字段以查找值。相反,你必须这样做-
$('.input').keyup(function () {
var field = $(this).parent().find('.input');
var count = 0;
$(field).each(function (i) {
var len = $(this).val().length;
if (len > 0 ) {
count++;
}
});
alert(count);
});
Fiddle:从引用到,您还可以创建一个自定义选择器,然后仅获取具有值的输入
jQuery.expr[':'].hasValue=function(el,index,match){
返回el.value!=“”;
};
$('.input').keyup(函数(){
log($(this.parent().find('input:hasValue').length);
});代码>
从引用到,您还可以创建自定义选择器,然后仅获取具有值的输入
jQuery.expr[':'].hasValue=function(el,index,match){
返回el.value!=“”;
};
$('.input').keyup(函数(){
log($(this.parent().find('input:hasValue').length);
});代码>
off-topic:您可能会发现更容易使用与其包含内容匹配的变量名-在本例中,var-fields=…输入列表…
then$(字段)。每个(函数(i,e){var-field=$(e);field.val()…}
off-topic:您可能会发现更容易使用与其包含内容匹配的变量名-在本例中,var-fields=…输入列表…
then$(字段)。每个(函数(i,e){var-field=$(e);field.val()…}