【发布时间】:2017-08-28 09:16:58
【问题描述】:
我有这个 JS var,然后是这个 if 语句:
if ($('custom_t4'))
var contratType = $('custom_t4').value === 'Nouvelle_affaire' ? 'Nouvelle Affaire' : $('custom_t4').value === 'Avenant' ? 'Avenant' : '';
if (contratType && (contratType !== 'Nouvelle Affaire' || contratType !== 'Avenant')){ }
我遇到的问题是,当定义了 contratType 并且他的值为“Nouvelle Affaire”时,仍然输入 if。
我错过了什么吗?
【问题讨论】:
-
'如果 foo 不是 "bar" 或不是 "baz"' - 它不能同时是两个,所以它总是 不是 是其中之一。换句话说,该条件总是为真。
-
除了
contratType !== 'Nouvelle Affaire' || contratType !== 'Avenant'始终为真(我标记为重复的部分)的问题之外,您还会遇到this issue (jQuery objects are always truthy) 和获取值元素的错误(jQuery 对象没有value属性;您可以通过val获取由 jQuery 对象包装的input的值)。