JavaScript, если - иначе ярлык не работает? - PullRequest
0 голосов
/ 20 июля 2010

У меня есть пара флажков со значениями "новая" или "существующая" компания.

$("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 ]

4 голосов
/ 20 июля 2010

Почему бы вам просто не сделать:

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";
0 голосов
/ 20 июля 2010
is_new_company = ($("input[name='company']:checked").val() == "new") ? true : false;
0 голосов
/ 20 июля 2010

Попробуйте

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