我有以下内容,如果6 NotStarted被选中,则应该在cookie Checkbox上写入NotStarted的值,如果未选中Checkbox,则将值-1写入

$("#NotStarted").change(function ()
{ $.cookie("NotStarted", if($("#NotStarted").is(':checked') == "true") {6} else {-1} , { expires: 20 * 365 }); return false; });


好吧,应该这样做,因为我有语法错误...
我在这里做错了什么?

最佳答案

您需要使用ternary operator

$("#NotStarted").change(function () {
    $.cookie("NotStarted", $("#NotStarted").is(':checked') ? 6 : -1, {
        expires: 20 * 365
    });
    return false;
});


看起来可以简化为(因为您可以使用复选框NotStarted的checked属性)

$("#NotStarted").change(function () {
    $.cookie("NotStarted", this.checked ? 6 : -1, {
        expires: 20 * 365
    });
    return false;
});

09-26 19:01