Javascript 获取if语句外部的变量
我是JS和jQ的新手。我有以下代码:Javascript 获取if语句外部的变量,javascript,jquery,Javascript,Jquery,我是JS和jQ的新手。我有以下代码: function CalculatePrice() { var a, b, c; if($(radiobtn1).is(':checked')) { a = "0"; alert(a); } if($(radiobtn2).is(':checked')) { a = "1"; alert(a); } if($(radiobtn3).is(':checked')) { a = "0";
function CalculatePrice() {
var a, b, c;
if($(radiobtn1).is(':checked')) {
a = "0";
alert(a);
}
if($(radiobtn2).is(':checked')) {
a = "1";
alert(a);
}
if($(radiobtn3).is(':checked')) {
a = "0";
alert(a);
}
if($(radiobtn4).is(':checked')) {
b = "350";
alert(b);
}
if($(radiobtn5).is(':checked')) {
b = "450";
alert(b);
}
if($ (radiobtn6).is(':checked')) {
b= "0";
alert(b);
}
//This is what i'm asking about:
alert(a);
}
最后一个警报(警报(a);)未运行。我猜这与变量范围有关,但不确定。如何访问if语句中设置的变量
谢谢 将ifs语句更改为else if语句,这将起作用。我想这将起作用:
function CalculatePrice() {
var a, b, c;
if($('#radiobtn1').is(':checked')) {
a = "0";
alert(a);
}
if($('#radiobtn2').is(':checked')) {
a = "1";
alert(a);
}
if($('#radiobtn3').is(':checked')) {
a = "0";
alert(a);
}
if($('#radiobtn4').is(':checked')) {
b = "350";
alert(b);
}
if($('#radiobtn5').is(':checked')) {
b = "450";
alert(b);
}
if($ ('#radiobtn6').is(':checked')) {
b= "0";
alert(b);
}
//This is what i'm asking about:
alert(a);
}
问题:
您必须选择ID,例如,
$(“#radiobtn1”)
我觉得有一种更有效的方法可以做到这一点。可能var b=$('[type=radio]:checked').val()
如果打开浏览器的开发工具(通常是F12,如果不查看菜单)并转到控制台选项卡,您会看到什么错误?如果所有这些radiobtnX
变量都存在,除非发生错误,否则您应该会看到最终警报。@T.J.Crowder这不是问题,因为$(x)
如果发现与选择器x
不匹配,则仍然返回jQuery对象。radiobtn1、2、3等是否在代码中的某个位置定义?或者它们是ID还是类?我看不出有什么帮助。问题中的alert()
在if
块之外。@kriv:这表明您稍后的radiobtnX
变量之一不存在,并且您得到了一个错误(请参阅对问题的评论)。在某些情况下,上述方法会产生避免错误的副作用,但不是解决方案。(也就是说,当您在一系列条件中重复赋值给单个变量时,else if
通常是您想要的。)