根据用户输入显示或隐藏字段
Show or Hide field based on user input
我必须显示复选框,只有当 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,然后我再次输入错误的电子邮件,复选框被隐藏,这不应该,因为名称已正确设置 abc。
我怎样才能做到这一点?
问题是您单独检查字段值。您需要检查 firstname onchange 函数中的 email 字段值,并检查 email onchange 中的 firstname 字段值。否则这两个字段之间就没有逻辑关系。
您应该像这样将这两项检查合并为一张:
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);
我必须显示复选框,只有当 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,然后我再次输入错误的电子邮件,复选框被隐藏,这不应该,因为名称已正确设置 abc。
我怎样才能做到这一点?
问题是您单独检查字段值。您需要检查 firstname onchange 函数中的 email 字段值,并检查 email onchange 中的 firstname 字段值。否则这两个字段之间就没有逻辑关系。
您应该像这样将这两项检查合并为一张:
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);