我需要验证一堆具有动态ID的文本框。这些元素可以在文档就绪时使用,而不是动态插入。
<input type="text" class="y"/>
<input type="text" class="y"/>
<input type="text" class="y"/>
<input type="text" class="y"/>
<input type="text" class="y"/>
规则是前两个字段之一是必需的。我不知道如何在不知道元素ID的情况下进行验证。
编辑:输入元素是由循环生成的,因此我无法为前两个添加类必需。我正在寻找使用jquery Validation插件http://docs.jquery.com/Plugins/Validation
的解决方案答案 0 :(得分:2)
试试这个
$(document).ready(function() {
if($('input:text:eq(0)').val()=="" && $('input:text:eq(1)').val()==""){
//show error
}
});
答案 1 :(得分:2)
以下使用过滤器创建值为非空的2个输入的集合。测试长度提供有效性测试
var valid=$('input').slice(0,2).filter(function(){
return $(this).val() !='';
}).length
if(valid){
/* can submit*/
}
验证插件的解决方案:
$('input:lt(2)').addClass('required');
注意:调整选择器以更好地适应形式,因此它不会找到页面中的每个输入,或者表单中的输入不是您要验证的集合的一部分。您可以将这些输入包装在字段集中,并为字段集提供ID
答案 2 :(得分:1)
$(document).ready(function() {
if($('input:text:lt(2)').val()=="" ){
//error
}
});
答案 3 :(得分:1)
我认为你想要的是这个:
function isValid(){
var cont=0;
$('input:text').each(function(i, obj) {
if(i<2 && obj.value){
cont++;
}
});
return cont==2;
}
答案 4 :(得分:1)