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;
}