javascript if - else快捷方式不起作用?

时间:2010-07-20 06:41:08

标签: javascript shortcut if-statement

我有一个复选框,其值为“新”或“现有”公司。

$("input[name=company]:checked").val()

使用jQuery向我显示复选框的值 现在,如果我这样做:

if ($("input[name=company]:checked").val() == "new") {
    is_new_company = true;
} else { 
    is_new_company = false; 
}
alert(is_new_company);

我得到了正确的布尔值 做快捷方式:

($("input[name=company]:checked").val() == "new") ? is_new_company = true : is_new_company = false;

我什么都没得到......为什么会这样?

3 个答案:

答案 0 :(得分:4)

你为什么不这样做:

is_new_company = $("input[name=company]:checked").val() == "new";

我在Firebug控制台上尝试了您的代码并且工作正常:( input[name=q]是此页右上角的搜索框)

var x;
$("input[name=q]").val() == "asd" ? x = "t r u e" : x = "f a l s e";
console.log(x);//worked as expected

顺便说一句,我认为以下内容更具可读性(当然,我只将其用于非布尔值):

x = $("input[name=q]").val() == "asd" ? "t r u e" : "f a l s e";

答案 1 :(得分:0)

尝试

is_new_company = ($("input[name=company]:checked").val() == "new") ?  true : false;

答案 2 :(得分:0)

is_new_company = ($("input[name='company']:checked").val() == "new") ? true : false;