我必须显示复选框,仅当firstname
匹配 abc 或email
abc@gmail.com 时才会显示。
var x = abc; //will come dynamically
var y = abc @gmail.com
jQuery("#firstname").on('change', (function(avalue) {
return function(e) {
if (e.targetvalue == avalue) {
//show checkbox
} else {
//hide checkbox
}
};
})(x));
jQuery("#email").on('change', (function(avalue) {
return function(e) {
if (e.targetvalue == avalue) {
//show checkbox
} else {
//hide checkbox
}
};
})(y));
这很好用。但是,如果我输入用户名 abc 并发送电子邮件 abc@gmail.com ,那么我再次输入错误的电子邮件,该复选框已隐藏,这不应该因为名称已设置< strong> abc 正确。
我怎么能实现这个目标?
答案 0 :(得分:2)
问题是您要单独检查字段值。您需要在firstname onchange函数中检查电子邮件字段值,并检查电子邮件onchange中的firstname字段值。没有它,两个领域之间就没有逻辑关系。
答案 1 :(得分:1)
您应该将这两个检查合并为一个,如下所示:
var x = abc; //will come dynamically
var y = abc@gmail.com
function checkValues() {
if(jQuery("#firstname").val() == x && jQuery("#email").val() == y) {
//show checkbox
} else{
//hide checkbox
}
}
jQuery("#firstname, #email").on('change', checkValues);
虽然已经使用了jQuery,但您也可以通过以下方式替换最后一行:
jQuery("#firstname, #email").change(checkValues);