代码有问题吗?因为,当我在语句中删除OR时,我得到正确的输出,但是当我插入||
输出时,我得到的是OR运算符所在的语句中的内容。
$(document).ready(function(){
$("#select1").change(function(){
if($(event.target).val() == 'AK'){
$("#select2").change(function(){
if($(event.target).val() == 'LLC'){
$('#txt6').val('250.00');
}else{
$('#txt6').val('250.00');
}
});
}else if($(event.target).val() == 'AR' || 'CO' || 'HI' || 'IA' || 'MS'){
$("#select2").change(function(){
if($(event.target).val() == 'LLC'){
$('#txt6').val('50.00');
} else{
$('#txt6').val('50.00');
}
});
}else
if($(event.target).val() == 'AZ'){
$("#select2").change(function(){
if($(event.target).val() == 'LLC'){
$('#txt6').val('50.00');
} else{
$('#txt6').val('60.00');
}
});
}else
}else
if($(event.target).val() == 'WI'){
$("#select2").change(function(){
if($(event.target).val() == 'LLC'){
$('#txt6').val('103.00');
} else{
$('#txt6').val('103.00');
}
});
}else
{
$("#select2").change(function(){
if($(event.target).val() == 'LLC'){
$('#txt6').val('186.00');
} else{
$('#txt6').val('186.00');
}
});
}
});
});
答案 0 :(得分:3)
你不能这样做:
$(event.target).val() == 'AR' || 'CO' || 'HI' || 'IA' || 'MS'
因为它转化为:
($(event.target).val() == 'AR') || ('CO') || ('HI') || ('IA') || ('MS')
这意味着:
(<true/false>) || true || true || true || true
您需要的是:
$(event.target).val() == 'AR' ||
$(event.target).val() == 'CO' ||
$(event.target).val() == 'HI' ||
$(event.target).val() == 'IA' ||
$(event.target).val() == 'MS'
或者,你可以这样做:
var allowed = ['AR', 'CO', 'HI', 'IA', 'MS'];
if ($.inArray($(event.target).val(), allowed)) {...}
答案 1 :(得分:2)
$(event.target).val() == 'AR' || 'CO' || 'HI' || 'IA' || 'MS'
应该是
$(event.target).val() == 'AR' || $(event.target).val() == 'CO' || $(event.target).val() == 'HI' || $(event.target).val() == 'IA' || $(event.target).val() == 'MS'
这是人们犯的一个小错误,他们认为正确但写错了。因为通常我们认为:
if value equals to xyz or pqr
我们写了
if(value == "xyz" || "pqr")
这是错误的,我们犯了这个错误,因为我们在流言。它应该是
if(value == "xyz" || value == "pqr")
代替。
答案 2 :(得分:0)
这一行
}else if($(event.target).val() == 'AR' || 'CO' || 'HI' || 'IA' || 'MS'){
错误。
需要像
这样的东西}else if($(event.target).val() == 'AR' || $(event.target).val() == 'CO' || $(event.target).val() =='HI ...
答案 3 :(得分:0)
||
加入独立且独立的布尔条件,而不是字符串值。
您可能希望这样做:
if ( /^(AR|CO|HI|IA|MS)$/.test( $(event.target).val() ) )