如果多个对象等于相同的值
jQuery if multiple objects equal same value
我有多个对象。在提交表单之前,我想检查确保所有的对象值都是"ok"。
$("#sub_button").click(function() {
if (myObj.login_id && myObj.email == "ok") {
alert("This would submit the form. login ID obj is: "+myObj.login_id+" and email email obj is: "+myObj.email);
} else {
alert("the form is bad!");
}
});
我试过两个==和三个===,它仍然不起作用。myObj.login_id
或myObj.email
可以等于任何值,它仍然会弹出"这将提交表单"的警告,并在警告框中显示值不是"ok"。
我做错了什么?
这不是你认为的比较。当你大声朗读时,这听起来是对的:"如果登录ID和电子邮件等于OK",但这不是&&
的工作方式。你想要的:
if (myObj.login_id == "ok" && myObj.email == "ok") {
....
}
你写的代码实际上说"如果登录ID是任何东西,如果电子邮件是"ok"。
$("#sub_button").click(function() {
if (myObj.login_id == "ok" && myObj.email == "ok") {
alert("This would submit the form. login ID obj is: "+myObj.login_id+" and email email obj is: "+myObj.email);
} else {
alert("the form is bad!");
}
});
你应该这样做:
("#sub_button").click(function() {
if (myObj.login_id === "ok" && myObj.email === "ok") {
alert("This would submit the form. login ID obj is: "+myObj.login_id+" and email email obj is: "+myObj.email);
else {
alert("the form is bad!");
在您的代码中,您只需检查myObj.login_id
解析为true(每次myObj.login_id
值不在此列表中时都会发生)
- 假 零
- 定义
- 空字符串
- 数字0
- 数字NaN(是的,"不是数字"是一个数字,它是一个特殊的数字)
试试这个
$("#sub_button").click(function() {
if (myObj.login_id == "ok" && myObj.email == "ok") {
alert("This would submit the form. login ID obj is: "+myObj.login_id+" and email email obj is: "+myObj.email);
} else {
alert("the form is bad!");
如果
myObj.email == "ok"
和myObj.login_id
的值不为零,则 (myObj.login_id && myObj.email == "ok")
的值为true。您没有将login_id
的内容计算为任何内容,因此它将作为布尔值处理,并根据内容转换为布尔值。
你应该把它改成(myObj.login_id == "ok" && myObj.email == "ok")
相关文章:
- 别名或以其他方式合并两个具有不同名称的相同对象原型
- 块相对于父对象的位置
- javascript对象属性应用于所有对象
- 获取javascript中相同对象的总数
- _.assign 仅当属性存在于目标对象中时
- 高图表 - 具有相同对象的多个图表
- 将 javascript 函数应用于相同的 id
- Javascript 原型 - 不仅适用于实例对象
- 如何覆盖 Javascript 中的方法并将其应用于原始对象,而不是子对象
- 在对象数组中对具有相同对象属性 B 的 JavaScript 对象属性 A 值求和
- snap.svg:将函数应用于许多对象
- 如何只运行一个函数一次,然后运行另一个依赖于相同元素的函数
- 删除开头的双引号&结束于JSON对象/字符串或Java脚本变量
- 当调用返回相同对象的函数时,无论是否作为构造函数调用,我都应该使用“new”吗
- Javascript/Jquery-.every()等价于对对象进行操作
- 应用于图像对象的onclick方法导致向“;否”;页
- 为什么String.prototype会记录它's对象类似于标准对象,而Array.prototype记录它
- (three.js)-任何动态创建纹理并应用于网格对象的方法
- 获取图像相对于父对象的位置,同时考虑垂直偏移
- 为什么这个原型字段优先于相同的对象字段