我正在通过旅行优惠开发一个搜索引擎,并且我有几个字段有开始日期和结束日期,里面有datepicker。 它在任何地方都运行良好,但在Internet Explorer 8中:它只显示2的第一个日历... IE在这些行中给我一个警报,但我看不出问题出在哪里:
function spCalendar( id, options, from, to )
{
jQuery( document ).ready(
function() {
jQuery.extend(
options, {
onClose: function() {
time = jQuery( this ).datepicker( 'getDate' );
jQuery( '#'+this.get( 'id' ).replace( '_selector', '' ) ).val( new Date( time ).valueOf() );
}
}
);
jQuery.extend( options, spCalLang );
jQuery( '#'+id+'_from_selector' ).datepicker( options );
if( from > 0 ) {
jQuery( '#'+id+'_from_selector' ).datepicker( 'setDate', new Date( from ) );
}
else {
jQuery( '#'+id+'_from_selector' ).val( '' );
}
jQuery( '#'+id+'_to_selector' ).datepicker( options );
if( to > 0 ) {
jQuery( '#'+id+'_to_selector' ).datepicker( 'setDate', new Date( to ) );
}
else {
jQuery( '#'+id+'_to_selector' ).val( '' );
}
}
);
}
;
感谢您的帮助!
答案 0 :(得分:0)
尝试
function() {
jQuery.extend(
options, {
onClose: function(dateText, inst) {
var dtPicker = $("#"+inst.id);
time = dtPicker.datepicker( 'getDate' );
jQuery( jQuery(dtPicker).attr( 'id' ).replace( '_selector', '' ) ).val( new Date( time ).valueOf() );
}
}
);
也适用于IE7 删除'yearSuffix'的最后一个逗号:'',< ----
spCalLang = {
'timeOnlyTitle': 'Choose Time',
'timeText': 'Time',
'hourText': 'Hour',
'minuteText': 'Minute',
'secondText': 'Second',
'currentText': 'Oggi',
'closeText': 'Scegli',
'monthNames': ['Gennaio', 'Febbraio', 'Marzo', 'Aprile', 'Maggio', 'Giugno', 'Luglio', 'Agosto', 'Settembre', 'Ottobre', 'Novembre', 'Dicembre'],
'monthNamesShort': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'],
'dayNames': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
'dayNamesShort': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'],
'dayNamesMin': ['Do', 'Lu', 'Ma', 'Me', 'Gi', 'Ve', 'Sa'],
'weekHeader': '',
'yearSuffix': ''};
答案 1 :(得分:0)
我不知道你是否还有这个问题,但我在OP代码中看到的两个问题已修复如下:
function spCalendar(id, options, from, to) {
jQuery(document).ready(function() {
jQuery.extend(options, {
"onClose": function() {
var time = jQuery(this).datepicker('getDate'); //Added var keyword to declare variable
jQuery('#' + this.get('id').replace('_selector', '')).val(new Date(time).valueOf());
}
});
jQuery.extend(options, spCalLang);
jQuery('#' + id + '_from_selector').datepicker(options);
if (from > 0) {
jQuery('#' + id + '_from_selector').datepicker('setDate', new Date(from));
} else {
jQuery('#' + id + '_from_selector').val('');
}
jQuery('#' + id + '_to_selector').datepicker(options);
if (to > 0) {
jQuery('#' + id + '_to_selector').datepicker('setDate', new Date(to));
} else {
jQuery('#' + id + '_to_selector').val('');
}
});
} //removed unnecessary semi-colon
我不再拥有IE8,因此我无法测试您链接的网站。此外,http://www.mawitalia.it/viaggidiatlantide/components/com_sobipro/var/js/2b243ae1f1120a3d557ef0e4f3189a89.js的链接返回404 - Not Found。