当我尝试初始化日期时间选择器时,我在 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());
}
}
任何帮助表示赞赏!