3

jquery バージョンでエラーが発生しています。

<script src="js/Common/jquery-2.1.1.min.js" type="text/javascript"></script>
 <script src="https://code.jquery.com/ui/1.12.0/jquery-ui.js"></script>

私のコードは次のとおりです。

var storedData = '["08/11/2016","07/31/2016"]';

        if( storedData !== null){
       var eventDatesarray = JSON.parse(storedData);
        var eventDates = [];

        $.each(eventDatesarray, function( index, value ) {
        var newdatepush = new Date(value);
        eventDates.push(newdatepush);
        eventDates[newdatepush] = newdatepush;
        });
        // An array of dates

        // datepicker
        jQuery('#ScheduleNextVisitCal').datepicker({
            beforeShowDay: function( date ) {
                var highlight = eventDates[date];
                if(highlight) {
                     return [true, "event", highlight];
                } else {
                     return [true, '', ''];
                }
             }
        });

}
else 
{
  $( function() {
    $("#ScheduleNextVisitCal" ).datepicker();
    });

      }

問題文 :

jquery datepickerを介して「storedData」で取得する特定の日付を強調表示したい。

驚きの要素: //ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.min.js //ajax.googleapis.com/ajax/libs/jqueryui/1.8.16/jquery-ui.min. js

これらのライブラリを使用している場合、コードは正常に動作しますが、どういうわけかライブラリを変更できません

エラー名: daySettings[2].replace は関数ではありません

発行コード : http://codepen.io/srawal/pen/KrBkVG

異なるライブラリが正常に動作する同じコード: http://codepen.io/srawal/pen/grjoAx

4

1 に答える 1

12

eventDates[ new Date( '09/04/2016' )] = new Date( '09/04/2016' ).toString(); eventDates[ new Date( '09/06/2016' )] = new Date( '09/06/2016' ).toString(); eventDates[ new Date( '09/20/2016' )] = new Date( '09/20/2016' ).toString(); eventDates[ new Date( '09/25/2016' )] = new Date( '09/25/2016' ).toString();

これは機能します。配列に日付を渡さないでください。文字列が必要です。日付を配列に入れる前に文字列に変換します。できます。

于 2016-07-30T15:29:35.363 に答える