क्या आपकी घटनाएं क्लाइंट साइड पर या सर्वर की ओर से संग्रहीत हैं? क्लाइंट की तरफ है, तो यह विशेष रूप से काम करता है, तो आपको लगता है कि क्लिक किए गए समय में घटना चाहते हैं चाहिए:
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
$('#calendar').fullCalendar('clientEvents', function(event) {
if(event.start <= date && event.end >= date) {
return true;
}
return false;
});
}
});
यह कि घटनाओं में क्लिक किए गए समय ओवरलैप और क्लाइंट साइड पर जमा हो जाती दे देंगे। पूरे दिन के स्लॉट के लिए, यह उस दिन सभी घटनाओं को ओवरलैप कर देगा।
यदि आप उस तारीख की सभी घटनाओं को स्वयं ही चाहते हैं, भले ही ऑलडे स्लॉट या टाइम स्लॉट क्लिक किया गया हो।
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
if(!allDay) {
// strip time information
date = new Date(date.getFullYear(), date.getMonth(), date.getDay());
}
$('#calendar').fullCalendar('clientEvents', function(event) {
if(event.start <= date && event.end >= date) {
return true;
}
return false;
});
}
});
अपने घटनाओं सर्वर पर जमा हो जाती है, तो आप अपने dayClick कॉलबैक में प्रदान की तारीख लेगी और उसका उपयोग जो कुछ भी प्रारूप में अपनी आवश्यक जानकारी प्राप्त करने के लिए अपने सर्वर के लिए एक कॉल के निर्माण के लिए करना चाहते हैं।
संपादित एक राउंड ट्रिप कर या जानकारी प्राप्त अन्य तरीकों
$('#calendar').fullCalendar({
dayClick: function(date, allDay, jsEvent, view) {
var startDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 0, 0, 0).getTime();
var endDate = new Date(date.getFullYear(), date.getMonth(), date.getDay(), 23, 59, 59).getTime();
var cache = new Date().getTime();
$.getJSON("/json-events.php?start="+startDate+"&end="+endDate+"&_="+cache,
function(data) {
// do stuff with the JSOn data
}
}
});
और अगर आप राउंड ट्रिप नहीं करना चाहते, तो आप भी में क्या होता है, का कहना है कि इस पर एक नज़र ले जा सकते हैं की कोशिश कर रहा है, तो , fullCalendar.js में refetchEvents। यदि आप पूर्ण कैलेंडरर ट्रंक से अलग होने पर ध्यान नहीं देते हैं, तो आप कहीं भी प्राप्त घटनाओं को सहेज सकते हैं ताकि आप डोम मैनिपुलेशन का एक गुच्छा नहीं कर रहे हैं (घटनाओं की संख्या के आधार पर, क्योंकि वे बड़े हो जाते हैं जो अनावश्यक हो जाएंगे)।
धन्यवाद आपके उत्तर के लिए मेरी घटनाओं घटनाओं का उपयोग करके serverside से आते रहे हैं: "json-events.php" तो मैं घटनाओं को पुनः प्राप्त करने ajax कॉल की ज़रूरत है? क्या जावास्क्रिप्ट फ़ंक्शन लिखना संभव है जो पैरामीटर के रूप में दिनांक स्वीकार करता है और सर्वर की तरफ वापस दिए बिना दिए गए दिनांक की ईवेंट सूची लौटाता है? क्योंकि मैं क्लाइंट ब्राउज़र पर तारीख के लिए ईवेंट देख सकता हूं। कैलेंडर डोम से घटनाओं से पूछना संभव नहीं है? – zawmn83
यदि आप डोम के माध्यम से काम करने की कोशिश कर रहे हैं, तो fullcalendar.js फ़ाइल में कोड को देखकर आपको साइन-आउट करने में मदद मिलेगी। आप देखेंगे कि निर्माता एडम शॉ, टीडीएस को यह जानने के लिए गिना जाता है कि विभिन्न घटनाओं को किस तारीख पर रखा जाए। तो हाँ, यह करना निश्चित रूप से संभव है। यह सिर्फ बहुत अधिक दर्दनाक होने जा रहा है और बहुत सारे डोम हेरफेर की आवश्यकता है - शायद इतना है कि सर्वर के लिए एक राउंड-ट्रिप उतनी तेज होगी। इसके अलावा, डीओएम हेरफेर आपको घटनाओं का JSON नहीं मिलेगा, लेकिन divs जो घटनाओं का वर्णन करने के लिए अंदर रखे गए हैं, केवल प्रदर्शित जानकारी दिखाते हैं। पर्याप्त हो सकता है, हो सकता है। – justkt
मैं टीडी देख सकता हूं जो कैलेंडर डोम में प्रत्येक दिनांक का प्रतिनिधित्व करता है। लेकिन घटनाओं को कैलेंडर तालिका के बाद अलग divs के रूप में संग्रहीत किया जाता है। मुझे यह घटना divs और td संबंध नहीं दिख रहा है। तो मैं ईवेंट div और दिनांक td के बीच संबंध कहां प्राप्त कर सकता हूं? धन्यवाद – zawmn83