3

このスクリプトについて少し助けが必要です:

var disabledDays = ["2013-9-5", "2013-9-13", "2013-9-28"];
var tips = ['aaa', 'bbb', 'ccc'];
$("#datepicker").datepicker({
    showButtonPanel: false,
    firstDay: 1,
    dateFormat: 'yy-mm-dd',
    beforeShowDay: function (date) {
        var m = date.getMonth(),
            d = date.getDate(),
            y = date.getFullYear();
        for (i = 0; i < disabledDays.length; i++) {
            if ($.inArray(y + '-' + (m + 1) + '-' + d, disabledDays) != -1) {
                //return [false];
                return [true, 'highlight', tips[i]];
            }
        }
        return [true];
    }
});

http://www.jsfiddle.net/VPzL7/

これらの選択された - 強調表示された日にhrefリンクを追加する日を削除するのと同じ方法を使用する方法がわかりません。

4

3 に答える 3

2

これはあなたの質問に対する直接的な回答ではありませんが、解決策になる可能性があります。ページにリダイレクトする必要がある場合は、onSelectオプション ( http://api.jqueryui.com/datepicker/#option-onSelect )を使用します。

var links = { "2013-09-05": 'http://my-website.com/event/world-domination' };

//...

    onSelect: function (dateString) {
        if ( links[ dateString ] )
          document.location.href = links[ dateString ];
    }
于 2013-09-01T18:17:04.113 に答える
1

jQueryUIはこれを行う方法を提供していないようですが、「特別な」日付ごとに2番目のクラスを割り当てて、後で処理することができます

return [true, 'date_'+String(y)+String(m)+String(d)+' highlight', tips[i]];

次に、各特別な日付がクリックされたときにトリガーするリスナーを追加できます

jQuery(document).on('click','.date_201385',function() {
 do something;
});
于 2013-09-01T18:12:34.760 に答える