1

イベントがロードされた日付ピッカーがあります。月が別の月に変更されると、イベントを戻すために DB 呼び出しが行われ、これは正常に機能します。ただし、これは、カレンダーが最初に表示されたときだけでなく、後でユーザーの操作が行われたときにも発生する必要があります。これが私のコードで、質問を簡単にするために、カレンダーが最初に画面に表示されているときに「getJsonDate」関数を実行するにはどうすればよいですか? これはかなり初歩的なことだとほぼ確信していますが、私には飛び出していません。

       $(function () {
        function getJsonDate(year, month) {
            var theYear = year;
            var theMonth = month;
            alert('You are in, baby!');
            $.post('GetMonthCalendar', {
                data: { year: theYear, month: theMonth },
                success: function(data) {
                    //TODO: make determination on ResourceScheduleTypeId for correct css
                    var i = 0;
                    for (i = 0; i < data.data.length; i++) {
                        $('.ui-datepicker-calendar td a:exactly(' + data.data[i]['d'] + ')')
                            .css({ color: 'blue' })
                            .attr('href', data.data[i]['link'])
                            .parent().attr('onclick', '');
                    }

                }
            });
        }


        $.expr[":"].exactly = function (el, i, m) {
            var s = m[3];
            if (!s) return false;
            return eval("/^" + s + "$/i").test($(el).text());
        };
        $('#date').datepicker({
            inline: true,
            onSelect: function (dateText, inst) {
                Date.prototype.toString = function () { return isNaN(this) ? 'NaN' : [this.getDate(), this.getMonth(), this.getFullYear()].join('/'); };
                d = new Date(dateText);
                //alert(d.getDate() + ", " + d.getFullYear());
                getJsonDate(d.getFullYear(), d.getDate());
            },
            onChangeMonthYear: function (year, month, inst) {
                //alert(year + ", " + month);
                getJsonDate(year, month);
            }
        });
    });
4

1 に答える 1

0

からdatepicker継承しているため、ウィジェットが初期化された後に実行されるコールバックWidgetを追加できると思います。create

$("#date").datepicker({
    // …
    create: function(event, ui) {
        getJsonDate(/* year, month */)
    }
})
于 2012-11-30T19:47:53.377 に答える