我有以下代码,但是,如果未找到input.formdate,它将仍然运行getDateFormat函数。这对我来说没有意义。

有人知道原因吗?

$(function() {
    $("input.formdate").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: getDateFormat()
    });
});

function getDateFormat()
{
    var format = 'DMY';

    if (document.edit_form && document.edit_form.date_format)
        format = document.edit_form.date_format.value;

    if (format = "DMY")
        return "dd-mm-yy";
    else
        return "mm-dd-yy";
}

最佳答案

getDateFormat函数在解析Java语言后立即运行,因为它在对象文字表示法之内。

您的表情被评估为

$(function() {
    $("input.formdate").datepicker({
        changeMonth: true,
        changeYear: true,
        dateFormat: <RESULT_FROM_CALLING_getDateFormat()>
    });
});

09-15 19:58