Jquery Datepicker с файлом JSON - PullRequest
       4

Jquery Datepicker с файлом JSON

0 голосов
/ 16 февраля 2012

Я пытаюсь использовать jQuery Datepicker для отображения конкретной информации из файла JSON в зависимости от даты, выбранной пользователем.Файл JSON будет содержать массив с событиями для конкретного города и даты.Моя проблема в том, что я не знаю, как использовать выбранную дату для зацикливания файла JSON.

Мой код:

 <script type="text/javascript">
    $(document).ready(function(){
    $('#datepicker').datepicker({
            dateFormat: 'yy-mm-dd',
            inline: true,
            minDate: new Date(2012, 1 - 1, 1),
            maxDate:new Date(2012, 12 - 1, 31),
            altField: '#datepicker_value',
            onSelect: function(){
                var day1 = $("#datepicker").datepicker('getDate').getDate();                 
                var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;             
                var year1 = $("#datepicker").datepicker('getDate').getFullYear();
         fullDate = year1 + "" + month1 + "" + day1;
    var proba = "<center><p>:<b>  "+fullDate+"</b></p></center>";
       var output = $.getJSON("example.json",  function(data){

    $.each(data, function(index,entry){  ??? 
    $('#page_output').append(html);
    });
    });

                $('#page_output').html(proba, output);

            }
         });
    });

    </script>

файл JSON, example.json:

{
    "2012215":[{
            "Something1":"Blablabla",
            "Title1":"Blabla",
            "Description":["Blablabla",
                "Blablablabl"
            ],
            "Something2":"Blablabla",
            "Title2":"Blablabla"
        }
    ],
    "201231":[{
            "Something3":"Blaasdasdblabla",
            "Title3":"Blabla",
            "Description":["Blablabla",
                "Blablablabl"
            ],
            "Something4":"Blablabla",
            "Title4":"Blablabla"
        }
    ]
}

Возможно, это очень просто и очевидно, но я не могу справиться с этой проблемой.Любая помощь будет оценена.

1 Ответ

0 голосов
/ 16 февраля 2012

Возвращаемый объект можно рассматривать как map или ассоциативный массив .Имея это в виду, клавиша для каждого элемента на карте выглядит как дата, отформатированная yyyymd.Поскольку вы знаете, какая дата была выбрана, вы можете создать правильный ключ на основе частей этой даты.

$(document).ready(function(){
    $('#datepicker').datepicker({
            dateFormat: 'yy-mm-dd',
            inline: true,
            minDate: new Date(2012, 1 - 1, 1),
            maxDate:new Date(2012, 12 - 1, 31),
            altField: '#datepicker_value',
            onSelect: function(){
                var day1 = $("#datepicker").datepicker('getDate').getDate();                 
                var month1 = $("#datepicker").datepicker('getDate').getMonth() + 1;             
                var year1 = $("#datepicker").datepicker('getDate').getFullYear();
                var fullDate = year1 + "" + month1 + "" + day1;
                var proba = "<center><p>:<b>  "+fullDate+"</b></p></center>";
                $.getJSON("example.json",  function (data){
                    $.each(data["" + year1 + month1 + day1], function(index, entry)
                        /* Process the event and build HTML */
                        $('#page_output').append(html);
                    });
                });
            }
         });
});

Я не совсем уверен, как именно вы хотите создать HTML, но с учетом вышеизложенного, entry должен быть список событий, происходящих в выбранную дату.

...