0

jQueryUIの既存の日付ピッカーから「イベントカレンダー」を作成する際に問題が発生しました。

これは私がこれまでに思いついたコードです。

    <script>
    $(document).ready(function() {
        $("#datepicker").datepicker({
            onSelect: function(dateText, inst) {
                var myDate = new Date(dateText);
                var newFormat = $.datepicker.formatDate("yy-mm-dd", myDate);
                    if (newFormat === "2012-11-20") {
                        $("#div").html("KIING");
                    } else if (newFormat === "2012-11-21") {
                        $("#div").html("KIIIIIIING");
                    } else if (newFormat === "2012-11-03") {
                        $("#div").html("1234123");
                    } else {
                        $("#div").html("");
                    }
            }
        });
    });
</script>
<div id="datepicker"></div>
<div id="div"></div>

http://jsfiddle.net/ALrkB/

私はここで立ち往生しています。コードを改善する方法がわからないため、イベントごとに手動でコードを挿入する必要はありません。

ユーザーがCMSにログインし、DATEとEVENTを使用してクエリを追加すると、jQueryコードに接続すると考えられます。

4

2 に答える 2

0

それはトリックを行う必要があります

<script>
   $(document).ready(function() {
    $("#datepicker").datepicker({
        onSelect: function(dateText, inst) {
            var ajaxCfg = {
                url: '/your/path/to/data',
                data: {selectedDate: dateText},
                type: 'POST',
                success: function(data) {
                  $("#div").html($(data).html());
                }
            };
            $.ajax(ajaxCfg);
        }
    });
});
</script>
<div id="datepicker"></div>
<div id="div"></div>

サーバー側では、selectedDateと現在のユーザーの投稿値を取得してから、イベントデータベースにクエリを実行し、データをスクリプトに返す必要があります。

于 2012-11-20T21:27:06.937 に答える
0

必要なjQueryコードは次のとおりです。

$(document).ready(function() {
        $("#datepicker").datepicker({
            onSelect: function(dateText, inst) {
                var myDate = new Date(dateText);
                var newFormat = $.datepicker.formatDate("yy-mm-dd", myDate);
                $.getJSON("callookup.php", { date: newFormat }, function(result) {
                        $("#div").html(result);
                });
            }
        });
    });
于 2012-11-20T21:27:49.100 に答える