Javascript 使用jQuery验证多输入值长度

Javascript 使用jQuery验证多输入值长度,javascript,jquery,html,Javascript,Jquery,Html,我正在尝试验证多个输入字段的长度,它只适用于一个字段。我希望它是检查所有具有相同输入名称的字段,当长度相同时,然后从“下一步”按钮中删除禁用的类 这是我的密码 jQuery(文档).ready(函数($){ $('input[name=“date[]”)。键控(function(){ var-DoB=[]; $(“.date”)。每个(函数(){ DoB.push($(this.val()); }); 如果(DoB.length==10){ $('#stepname').removeClass

我正在尝试验证多个输入字段的长度,它只适用于一个字段。我希望它是检查所有具有相同输入名称的字段,当长度相同时,然后从“下一步”按钮中删除禁用的类

这是我的密码

jQuery(文档).ready(函数($){
$('input[name=“date[]”)。键控(function(){
var-DoB=[];
$(“.date”)。每个(函数(){
DoB.push($(this.val());
});
如果(DoB.length==10){
$('#stepname').removeClass('disabled');
}
否则{
$('#stepname').addClass('disabled');
}
});
。已禁用{
游标:无事件;
颜色:#ccc;
}

出现此问题是因为新元素未与向上键事件绑定。您应该在文档引用上绑定向上键事件

请尝试:-

<input type="text" class="date" name="date[]">
<input type="text" class="date" name="date[]">

<a href="#" id="stepname" class="btn disabled">Next Step</a>

.disabled{
   cursor: no-event;
   color: #ccc;
}

jQuery(document).ready(function($) {
  $(document).on("keyup", 'input[name="date[]"]', function() {
      var DoB = [];
           $(".date").each(function(){
               DoB.push($(this).val());
            });
    if(DoB.length == 10) { 
      $('#stepname').removeClass('disabled');
    }
    else {
     $('#stepname').addClass('disabled');
    }
});

.残疾人{
游标:无事件;
颜色:#ccc;
}
jQuery(文档).ready(函数($){
$(document).on(“keyup”上的“input[name=“date[]”函数(){
var-DoB=[];
$(“.date”)。每个(函数(){
DoB.push($(this.val());
});
如果(DoB.length==10){
$('#stepname').removeClass('disabled');
}
否则{
$('#stepname').addClass('disabled');
}
});

DoB.length
将给出数组的长度。因此,当前条件不会确定所有值是否相同

您可以使用
each()
检查数组中的每个项目是否相同。此外,我更喜欢
map()
get()
从元素的值生成数组

最后还缺少了
});

jQuery(文档).ready(函数($){
$('input[name=“date[]”)。键控(function(){
var DoB=$(“.date”).map(函数(){
返回$(this.val();
}).get();
var isTrue=DoB.every(v=>v==DoB[0]);
如果(isTrue){
$('#stepname').removeClass('disabled');
}
否则{
$('#stepname').addClass('disabled');
}
});
});
。已禁用{
游标:无事件;
颜色:#ccc;
}

如果我理解了你的问题,这应该是适合你的解决方案

jQuery(文档).ready(函数($){
$('input[name=“date[]”)。键控(function(){
var disabled=false;
$('input[name=“date[]”)。每个(函数(键,元素){
如果(element.value.length<10)已禁用=真;
});
(禁用)?$('stepname').addClass('disabled'):$('stepname').removeClass('disabled');
});
});
。已禁用{
游标:无事件;
颜色:#ccc;
}

您也可以试试这个;简单明了:

jQuery(文档).ready(函数($){
$('input[name=“date[]”)。键控(function(){
$(this.attr(“数据项次”,this.value.length>=10?“确定”:“”);
if($('input[name=“date[]”):not([data ln=“ok”]))[0])$('stepname').addClass('disabled');
else$('#stepname').removeClass('disabled');
});
});
。已禁用{
游标:无事件;
颜色:#ccc;
}