0

旅行のオファーを通じて検索エンジンを開発しています。開始日と終了日を含むいくつかのフィールドがあり、内部に日付ピッカーがあります。どこでも問題なく動作しますが、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( '' );
   }   
  } 
 );
}
;

手伝ってくれてありがとう!

ここにページがあります

4

2 に答える 2

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': ''};
于 2012-04-05T18:37:38.960 に答える
0

まだこの問題が発生しているかどうかはわかりませんが、あなたの OP コードで見られた 2 つの問題は以下のように修正されました。

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 を返します。

于 2012-06-21T07:24:52.130 に答える