我需要为空值验证两个文本字段,在我的页面中尝试了这段Jquery,
$('#div1').hide();
$('#btn1').click(function(){
$('.class1').each (function() {
if($(this).val() == "") {
$('#div1').show();
}else {
$('#div1').hide();
}
});
它仅验证第一个文本字段。有什么帮助吗?
答案 0 :(得分:0)
实际上,只要选区中的任何元素都有val()
""
,您的代码就会显示#div1。我不确定这是你想要的,也许你想为每个输入元素显示不同的<div>
?
each函数的回调将获得两个参数index
- 数组中元素的索引,以及element
,即数组中的元素。您可以使用它来区分您要验证的元素:
$('.class1').each (function(index, element) {
if($(this).val() == "") {
$('#div' + index).show();
}else {
$('#div' + index).hide();
}
});
请参阅my jsfiddle了解演示。
这是非常不干净的编程。您可能想要尝试优秀的JQuery validation plugin。
答案 1 :(得分:0)
我认为你应该遵循以下方法
$('#div1').hide();
$('#btn1').click(function() {
$('.class1').each(function() {
$('#div1').hide();
if ($(this).val() == "") {
$('#div1').show();
return false;
}
});
});
根据您的代码,我认为只对最后一次输入进行验证。