Javascript 将JQuery验证与JQuery自动完成相结合
我有一个有三个字段的表单。前两个输入中的一个是必需的(可以是一个,也可以是两个),第三个字段始终是必需的。对于前两个,我已经将它们添加到一个组来处理它。这是到目前为止我的代码Javascript 将JQuery验证与JQuery自动完成相结合,javascript,jquery,autocomplete,Javascript,Jquery,Autocomplete,我有一个有三个字段的表单。前两个输入中的一个是必需的(可以是一个,也可以是两个),第三个字段始终是必需的。对于前两个,我已经将它们添加到一个组来处理它。这是到目前为止我的代码 var validator = $("#my_form").validate({ groups: { datagroup: "fieldOne fieldTwo" }, rules: { fieldOne: { require_from_gro
var validator = $("#my_form").validate({
groups: {
datagroup: "fieldOne fieldTwo"
},
rules: {
fieldOne: {
require_from_group: [1, '.datagroup'],
email: true,
maxlength: {
param: 40,
depends: function (element) {
var valTwo = $('#fieldTwo').val();
return !valTwo || (valTwo.length < 8) || (valTwo.length > 18);
}
}
},
fieldTwo: {
require_from_group: [1, '.datagroup'],
minlength: {
param: 8,
depends: function (element) {
var valOne = $('#fieldOne').val();
return !valOne || (valOne.length > 40);
}
},
maxlength: {
param: 18,
depends: function (element) {
var valOne = $('#fieldOne').val();
return !valOne || (valOne.length > 40);
}
}
},
fieldThree: {
}
}
});
var validator=$(“#我的表格”).validate({
小组:{
数据组:“字段一字段二”
},
规则:{
现场一:{
需要来自_组[1',.datagroup']的_,
电子邮件:是的,
最大长度:{
参数:40,
依赖:函数(元素){
var valTwo=$('#fieldTwo').val();
return!valTwo | |(valTwo.length<8)| |(valTwo.length>18);
}
}
},
第二场:{
需要来自_组[1',.datagroup']的_,
最小长度:{
参数:8,
依赖:函数(元素){
var valOne=$('#fieldOne').val();
return!valOne | |(valOne.length>40);
}
},
最大长度:{
参数:18,
依赖:函数(元素){
var valOne=$('#fieldOne').val();
return!valOne | |(valOne.length>40);
}
}
},
第三场:{
}
}
});
这是我的问题。上述方法处理前两个输入时不会出现问题。第三个输入是使用jqueryautocomplete在用户键入时向用户显示列表。我需要确保提交的值在该列表中。我还需要确保提供了一个值
我不确定是否需要将第三个输入与前两个输入合并到组中?我也不确定如何确保该值在我的列表中
感谢您的建议。在您的脚本开头,制作一份不可见的原始姓名列表副本:
var values = [];
$('#autocomplete').find('option').each(function(){
values.push(this.value);
});
要避免人们向列表中添加姓名,并保留原始姓名列表,以便通过以下方式签入jQuery验证程序:
depends: function (element) {
var valOne = $('#autocomplete').val();
return !valOne || (values.indexOf(valOne) < 0);
}
依赖:函数(元素){
var valOne=$(“#自动完成”).val();
return!valOne | |(values.indexOf(valOne)<0);
}