0

私の最後の質問getDate with Jquery Datepickerの拡張、

ユーザーが選択した日付に応じて、jquery datepicker を使用して xml ファイルから特定の情報をロードしようとしています。同様のコードですが、特定の日付のファイルの内容を読み取るために、xml ファイルを読み込んで解析しようとしています。

完璧な世界では、ユーザーが日付をタップすると、datepicker html 出力の下に、最後の画像プロジェクトではなく、選択した日付の特定の時間が表示されます。

私の問題は何もロードされていないので、私の質問は私が間違っていることは何ですか?

私のコードは次のとおりです

<!DOCTYPE html>

    <link type="text/css" href="css/ui-darkness/jquery-ui-1.8.custom.css" rel="stylesheet" />   
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"></script>
    <script type="text/javascript">
        $(function(){
            // Datepicker
            $('#datepicker').datepicker({
                dateFormat: 'yy-mm-dd',
                inline: true,
                minDate: new Date(2010, 1 - 1, 1),
                maxDate:new Date(2010, 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 str_output ="<img src=\"http://website/images/a" + fullDate +".png\" width=\"100%\"/>";
                    //"<h1>"+fullDate+"</h1>";
                    //"<img src=\"http://website/images/a" + fullDate +".png\"/>";
                    //$('#page_output').html(str_output);
                        var doc = loadXMLDoc('date.xml'); // loading the XML file
                        var el = doc.getElementsByTagName('_'+date); // retrieving the elements corrsponding to a date, eg: _20100103
                        var page_output = document.getElementById('page_output');   

                        if(el.length >= 1)
                        {
                            // matched XML data found for the specified date    
                            var dt = el[0].getElementsByTagName('date');
                            var great_times = el[0].getElementsByTagName('great_times');
                            var good_times = el[0].getElementsByTagName('good_times');      
                            var str_output = "<h1><center>" + dt[0].childNodes[0].nodeValue + "</center></h1><br/><br>";
                            str_output += "<b>Excellent Times:</b><br> " + great_times[0].childNodes[0].nodeValue + "<br/><br>";
                            str_output += "<b>Good Times:</b><br> " + good_times[0].childNodes[0].nodeValue + "<br/><br>";
                            $('#page_output').html(str_output);// writing the results to the div element (page_out)
                        }
                        else
                        {
                            alert("Sorry","Action not allowed on this page");
                            page_output.innerHTML = ''; // No XML data found for the selected date
                            reloadmainwDate();      
                            return false;
                        }   
                        return true;    
                }
            });             
            //hover states on the static widgets
            $('#dialog_link, ul#icons li').hover(
                function() { $(this).addClass('ui-state-hover'); }, 
                function() { $(this).removeClass('ui-state-hover'); }
            );          
        });
        //var img_date = .datepicker('getDate');
            //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 date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' });
            //var str_output = "<h1><center><p>"+ date + "</p></center></h1>";
            //$('#page_output')[0].innerHTML = str_output;



    // writing the results to the div element (page_out)
    </script>
    <script>

function loadXMLDoc(dname) { var xmlDoc;

// IE 5 and IE 6
if(typeof ActiveXObject != 'undefined') 
{   
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async=false;
    xmlDoc.load(dname);
    return xmlDoc;
}
else if (window.XMLHttpRequest) // firefox
{
    xmlDoc=new window.XMLHttpRequest();
    xmlDoc.open("GET",dname,false);
    xmlDoc.send("");
    return xmlDoc.responseXML;
}
alert("Error loading document");
return null;

}

    <!-- Datepicker -->

    <div id="datepicker"></div>

    <!-- Highlight / Error -->

    <div id="page_output"></div>


</body>

4

1 に答える 1

0

少し前に私のコードを修正しました。誰かが同様の問題を抱えている場合に備えて、私は自分の質問に答えるつもりです。

<!DOCTYPE html>

    <link type="text/css" href="css/ui-darkness/jquery-ui-1.8.custom.css" rel="stylesheet" />   
    <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="js/jquery-ui-1.8.custom.min.js"></script>
    <script type="text/javascript">
        $(function(){
            // Datepicker
            $('#datepicker').datepicker({
                dateFormat: 'yy-mm-dd',
                inline: true,
                minDate: new Date(2010, 1 - 1, 1),
                maxDate:new Date(2010, 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();
                    // code added  
                    // this is to convert the month '3' to '03'
                    month1 = addZero(month1, 2);
                    day1 = addZero(day1, 2);
                    var fullDate = year1 + month1 + day1;

                    parseXML(fullDate);//move function outside of this function
                    //var str_output ="<img src=\"http://69.*.*.*/images/a" + fullDate +".png\" width=\"100%\"/>";
                    //"<h1>"+fullDate+"</h1>";
                    //"<img src=\"http://69.*.*.*/images/a" + fullDate +".png\"/>";
                    //$('#page_output').html(str_output);

                }
            });             
            //hover states on the static widgets
            $('#dialog_link, ul#icons li').hover(
                function() { $(this).addClass('ui-state-hover'); }, 
                function() { $(this).removeClass('ui-state-hover'); }
            );          
        });
        //var img_date = .datepicker('getDate');
            //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 date = $('#datepicker').datepicker({ dateFormat: 'dd-mm-yy' });
            //var str_output = "<h1><center><p>"+ date + "</p></center></h1>";
            //$('#page_output')[0].innerHTML = str_output;



    // writing the results to the div element (page_out)
    </script>
    <script>
于 2010-04-30T16:21:37.517 に答える