2014-06-26 9 views
5

में घटनाओं को प्रस्तुत नहीं करता है जैसा कि शीर्षक कहता है, यह आईई के किसी भी संस्करण पर घटनाओं को प्रस्तुत नहीं करता है।jQuery पूर्ण कैलकुलेटर आईई

आईई का उपयोग 7 से 10 तक और संस्करणों में से कोई भी ईवेंट प्रस्तुत नहीं करता है। Jquery 1.11.0 और पूर्ण कैलेंडर 1.6.4।

यदि मैं मैन्युअल रूप से ईवेंट में डालता हूं तो यह पूरी तरह से काम करता है, लेकिन मेरे एजेक्स कॉल से प्राप्त होने वाली घटनाओं के साथ यह किसी भी घटना को प्रदर्शित नहीं करेगा, अन्य सभी ब्राउज़र उन्हें कोई समस्या नहीं दिखाते हैं।

मुझे अपनी घटनाओं को एक AJAX कॉल से मिलता है जिसे मैं JSON ऑब्जेक्ट्स की सरणी में पार्स करता हूं।

[ 
    [ 
    { 
     "start": "2014,05,01", 
     "title": "Event test 2", 
     "content": "Avec du texte pour en mettre plus", 
     "ID": 153 
    } 
    ], 
    [ 
    { 
     "start": "2014,04,16", 
     "title": "Event test", 
     "content": "<p>Du texte pour le premier événement.</p>", 
     "ID": 118 
    } 
    ], 
    [ 
    { 
     "start": "2014,04,10", 
     "title": "Event test", 
     "content": "<p>Du texte pour le premier événement.</p>", 
     "ID": 118 
    } 
    ] 
] 

2 आयाम सरणी प्रत्येक व्यक्ति वस्तु लाने और एक अन्य सरणी में यह पुश करने के लिए में है कि मैं पाश के बाद, कोड है कि यह करता है:

for(var i = 0; i < jsonData.length; i++){   
    for(var k = 0; k < jsonData[i].length; k++){ 
    dataEvents.push(jsonData[i][k]); 
    } 
} 
मेरे कॉल से प्राप्त कच्चे डेटा इस तरह दिखता है

अब अगर मैं उपर्युक्त JSON ऑब्जेक्ट्स की एक सरणी को मैन्युअल रूप से पूर्ण कैलेंडर की घटनाओं की संपत्ति में हार्डकोड करता हूं तो यह काम करता है, यह लूप द्वारा बनाई गई सरणी के दौरान क्यों काम नहीं करेगा?

आईई कोई त्रुटि नहीं दिखाता है, कोई फ़ाइल लोड नहीं की जा रही है (या दो बार लोड)। मैंने कई घंटों का निवेश इसी तरह के प्रश्न में किया है (पिछला कॉमा सबसे आम गलती प्रतीत होता है) लेकिन कुछ भी नहीं जिसने विशेष रूप से समस्या को अलग करने के अलावा मुझे मदद की है।

धन्यवाद, मुझे आशा है कि आप लोग मुझे और दूसरों की मदद कर सकते हैं जो एक ही समस्या को हल कर सकते हैं।

संपादित करें: जोड़े गए संस्करण।

+0

आईई, jquery, fullcalendar का संस्करण क्या है? – MarCrazyness

+0

संस्करण जोड़ने के लिए संपादित किया गया। आईई 7 से 10, jQuery 1.11.0 और पूर्ण कैलेंडर 1.6.4। –

उत्तर

0

इसके साथ दखल देने के बाद, मैं इसे काम करने में कामयाब रहा। मैं कुछ चीजों को बदलना समाप्त कर दिया। "-" सबसे पहले, डैश उपयोग करने के लिए स्ट्रिंग स्वरूप बदल अल्पविराम के के बजाय, इसलिए नए JSON ऑब्जेक्ट इस तरह देखा:

[ 
    [ 
    { 
     "start": "2014-05-01", 
     "title": "Event test 2", 
     "content": "Avec du texte pour en mettre plus", 
     "ID": 153 
    } 
    ], 
    [ 
    { 
     "start": "2014-04-16", 
     "title": "Event test", 
     "content": "<p>Du texte pour le premier événement.</p>", 
     "ID": 118 
    } 
    ] 
] 

और फिर, जिस तरह से मैं निर्माण मेरी वस्तुओं कि Fullcalendar के लिए पारित हो रहे थे बदला गया था :

for(var i = 0; i < jsonData.length; i++){   
     for(var k = 0; k < jsonData[i].length; k++){ 
      /* creating date object instead of string */ 
      var d = new Date(jsonData[i][k]['start']); 

      /* adding one day, it was showing the previous day (due to localisation?) */ 
      d.setDate(d.getDate() + 1); 

      /* manually setting the object, and adding 'allDay':true , in my case I need them to be all day events */ 
      dataEvents.push({ 
         'start' : d, 
         'title' : jsonData[i][k]['title'], 
         'content' : jsonData[i][k]['content'], 
         'ID' : jsonData[i][k]['ID'], 
         'allDay' : true 
        }); 
     } 

    } 

इसके बाद यह ठीक काम कर रहा था। मुझे लगता है कि आईई तारों की व्याख्या उसी तारीख को नहीं कर सकता है जैसे अन्य ब्राउज़र करते हैं। वैसे, सफारी आईई के समान परिणाम दिखा रहा था, यह घटनाओं को प्रदर्शित नहीं किया गया था, इस बदलाव के बाद सब कुछ मेयर ब्राउज़र में ठीक से प्रदर्शित हो रहा है।

मैं लाइव होने के बाद कार्य पृष्ठ पर एक लिंक पोस्ट करूंगा (वर्तमान में हमारे निजी प्रोड सर्वर में रहता है, लेकिन इसे जल्द ही लाइव सर्वर पर माइग्रेट किया जाना चाहिए)।

संबंधित मुद्दे