1

日付ピッカーに問題があります。私はこのコードを書きました:

var d = new Date(2013, 5, 5);

    $.ig.loader({
        scriptPath: "http://cdn-na.infragistics.com/jquery/20131/latest/js/",
        cssPath: "http://cdn-na.infragistics.com/jquery/20131/latest/css/",

        resources: 'igEditors',
        ready: function () {
            $('#leftDatePicker').igDatePicker({
                width: 230,
                beforeShowDay: available,

                datepickerOptions: {

                    minDate: d,                      

                    yearRange:"2011:2014",

                    changeMonth: true,
                    changeYear: true
                }
            });


            var unAvailableDates = ["17-8-2013", "14-8-2013", "15-7-2013"];

            function available(date) {
                var dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
                if ($.inArray(dmy, unAvailableDates) != -1) {
                    return [false, "", "unAvailable"];
                } else {
                    return [true, "", "Available"];
                }
            }

        }
    });
};

(私は html と jquery を使用して Durandal プロジェクトに取り組んでいます。これは Infragistics の日付ピッカーですが、このプロパティは jquery のものです。)しかし、すべての日付を有効にできます...どうすればよいですか?

4

2 に答える 2

1

beforeShowDay: available,準備完了関数で、宣言される前に値が割り当てられた日付ピッカーを作成しました。available日付ピッカーを作成する前に、関数宣言をホイストする必要があります。これは、javascript は代入ではなく変数定義のみをホイストするためです。

更新:このように...

    ready: function () {
        var unAvailableDates = ["17-8-2013", "14-8-2013", "15-7-2013"],
            available = function(date) {
                var dmy = date.getDate() + "-" + (date.getMonth() + 1) + "-" + date.getFullYear();
                if ($.inArray(dmy, unAvailableDates) != -1) {
                    return [false, "", "unAvailable"];
                }
                return [true, "", "Available"];
            };

        $('#leftDatePicker').igDatePicker({
            width: 230,
            beforeShowDay: available,

            datepickerOptions: {

                minDate: d,                      

                yearRange:"2011:2014",

                changeMonth: true,
                changeYear: true
            }
        });
    }
于 2013-08-19T10:16:48.710 に答える
0

そうあるべきだと思う

$('#leftDatePicker').igDatePicker({
    width: 230,

    datepickerOptions: {
        beforeShowDay: available, // it is a datepicker option

        minDate: d,                      

        yearRange:"2011:2014",

        changeMonth: true,
        changeYear: true
    }
});
于 2013-08-19T10:16:20.867 に答える