使用变量数组创建jQuery模糊事件
Using a variable array to create jQuery blur events
我有一个表单字段ID的多维数组,以及它们的错误检查类型。我想在每个错误字段中添加一个模糊事件,这样当用户离开它进入下一个字段时,它将确保该字段有效。
我创建了一个带有模糊事件创建和警报的for循环,以确保正在为该字段创建模糊。警报告诉所有字段都添加了验证,但当我在页面上测试它时,无论我离开哪个字段,模糊事件都只验证数组中的最后一个字段。
这是函数。
function SetErrorFields(fields) {
var ErrorFields = fields;
for (Field in ErrorFields) {
alert("Field: "+ErrorFields[Field][0]+" | Validations: "+ErrorFields[Field][1]);
$('#'+ErrorFields[Field][0]).blur(function(){
Validate(ErrorFields[Field][0],ErrorFields[Field][1]);
});
}
}
我试过改变一些事情,但要么什么都没用,要么情况变得更糟。Bellow列出了我尝试过的方法和结果。
已将ErrorFields[Field][0]更改为Field[0],但这会将警报中的所有内容更改为"未定义"。
使用以下代码会在离开字段时抛出"x is undefined"错误。
for (x=0; x<ErrorFields.length; x++) {
alert("Field: "+ErrorFields[x][0]+" | Validations: "+ErrorFields[x][1]);
$('#'+ErrorFields[x][0]).blur(function(){
Validate(ErrorFields[x][0],ErrorFields[x][1]);
});
}
我搞不清每种方法。
有一个名为eventData的有用参数。它允许您在声明事件时将数据发送到事件。以下内容有效。
function SetErrorFields(fields) {
ErrorFields = fields;
for (Field in ErrorFields) {
alert(ErrorFields[Field][0]+" | "+ErrorFields[Field][1]+" | "+$('#'+ErrorFields[Field][0]).val());
$('#'+ErrorFields[Field][0]).blur({fld: ErrorFields[Field][0], err: ErrorFields[Field][1]}, function(event){
Validate(event.data.fld,event.data.err);
});
}
}
关于它的作用,请点击此处进行更深入的解释。
相关文章:
- jQuery模糊时验证文本字段
- jQuery在模糊时设置动画-但仅当模糊超出形式时
- JQuery无法将模糊事件绑定到所有<输入>页面中的元素
- JQuery 模糊和回车键 - 模糊不起作用
- 我可以使用 php 或 jquery 模糊文本吗?
- jQuery模糊事件触发两次
- 如果新关注的元素不是子元素,则jQuery模糊
- 没有为表单元格激发jQuery模糊事件
- Jquery模糊不工作"退出"文本输入即使"点击"所做的事
- 基于jQuery模糊的检查,并在codeigniter中将结果打印到视图
- Jquery模糊不保留突出显示的文本框颜色
- jQuery模糊备选方案
- JQuery模糊事件在IE中不触发
- jQuery模糊(). .它到底是怎么工作的
- jQuery模糊不能在IE中刷新页面
- CSS/jquery模糊叠加效果示例
- jQuery模糊事件不工作
- JQuery模糊动画
- 使用变量数组创建jQuery模糊事件
- Jquery 模糊事件干扰所有其他事件