遇到包含多个变量和jquery if / then的包版广告。
我想要做的是当用户选择特定状态时进行计算。
这是我到目前为止所做的,但它不起作用:
var zonea = ("NY", "NJ", "DE");
$('#states').change(function () {
var w = +$('#states').val();
if (w == zonea) {
alert("Good!");
}
})
如果我将代码更改为:
var zonea = ("NY", "NJ", "DE");
$('#states').change(function () {
var w = +$('#states').val();
if (w = zonea) {
alert("Good!");
}
})
无论我选择什么状态,都会显示警报。
我不确定我在这里做错了什么。
答案 0 :(得分:-1)
在第二种情况下
var w, zonea;
zonea = false;
if (w = zonea) {
alert("Good!");
}
您在if条件中将值zonea
分配给w
,除0
或false
zonea
之外,该条件将是为true,因此将执行警报
答案 1 :(得分:-1)
var zonea = ("NY", "NJ", "DE");
$('#states').change(function () {
var w = +$('#states').val();
if (w = zonea) {
alert("Good!");
}
});
这里你使用=表示赋值,并且总是在if语句中比较你必须使用的两个值==。 另外我看到var w中的+符号不需要并且可能导致代码错误,当你定义w时它将是string而zonea是数组所以尝试使用indexOf而不是w == zonea