1

当我尝试初始化日期时间选择器时,我在 IE 10 中有一个非常疯狂的行为。使用 jQuery (v 1.9.0),我导航到相应的元素,然后设置一个预定义的值。该代码在 Safari、Chrome 和 Firefox 中完美运行,但在 IE 10 中崩溃。

问题发生在:

datetime_field = parent.find("input:first");

这里找不到父对象的 find 方法??但我完全不知道为什么会发生这种情况(特别是因为它只与 IE 相关..)?

function initWithDate(el) {
    dateString = dateFormat(new Date(), "yyyy-mm-dd HH:MM:ss");
    parent = el.closest("div.date-time-picker-wrapper");
    datetime_field = parent.find("input:first");
    if (datetime_field.length && datetime_field.val().length)
    {
        dateString = datetime_field.val();
    }
        reggex = /(\d{4})-(\d{2})-(\d{2}) (\d{2}):(\d{2}):(\d{2})/;
    dateArray = reggex.exec(dateString);
        parentElement.find(".date_picker").datepicker('setDate', new Date(dateArray[1], (dateArray[2] - 1), dateArray[3]));
    parentElement.find(".timepicker_default").val(dateArray[4] + ":" + dateArray[5] + ":" + dateArray[6]);

    setNewDateTimeValue(el);
    var datetimepicker = $("#campaign_timezone");
    if (datetimepicker.val() == "" || datetimepicker.val() == undefined)
    {
        datetimepicker.select2("val", datetimepicker.find("option:contains('"+get_time_zone_name().split("/")[1]+"')").val());
        datetimepicker.val(datetimepicker.find("option:contains('"+get_time_zone_name().split("/")[1]+"')").val());
    }

}

任何帮助表示赞赏!

4

0 回答 0