2010-04-19 11 views
6

लागू करने के लिए मुझे एक प्रणाली विकसित करने के लिए कहा गया है जिसमें कर्मचारी सप्ताह के किसी दिए गए दिन पर अपनी उपलब्धता के रूप में चिह्नित हो सकते हैं - उदाहरण के लिए कोई कर्मचारी किसी दिए गए समय पर खुद को चिह्नित कर सकता है सप्ताह दिया गया, और किसी अन्य समय पर अनुपलब्ध। यह थोड़ा इस तरह दिखता है:एक बहु-राज्य योजनाकार

http://img697.imageshack.us/img697/842/mvcb.jpg

वर्तमान में इस तालिका में चेक बॉक्स प्रतिपादन, प्रत्येक कोशिका में क्लिक ईवेंट उठा और उचित रूप से चेकबॉक्स और इसलिए सेल चिह्नित करके काम करता है। मैं here से JQuery "क्लिक एन ड्रैग चेकबॉक्स" प्लगइन का उपयोग कर रहा हूं। हालांकि, मुझे सूचित किया गया है कि किसी दिए गए सेल के लिए दो से अधिक राज्य हो सकते हैं (उदाहरण के लिए उपलब्ध, अनुपलब्ध, किसी दिए गए परिस्थिति में उपलब्ध), जिस स्थिति में चेकबॉक्स चेक किए गए मूल्य पर बाध्यकारी होना बहुत अधिक नहीं होगा मदद।

मैंने पहले कभी जावास्क्रिप्ट या एएसपीनेट का उपयोग नहीं किया है और इस समस्या से संपर्क करने के लिए सबसे अच्छा तरीका है। आदर्श रूप से मैं प्रत्येक सेल के पीछे एक डेटा संरचना चिपक सकता हूं जिसे मैं एक निश्चित राज्य में अपडेट कर सकता हूं और उसके बाद बाध्यकारी करके अपना सेल रंग प्राप्त कर सकता हूं - हालांकि मैं इसे नुकसान पहुंचाने के तरीके के रूप में कुछ नुकसान में हूं।

+1

एक अच्छी तरह से सचित्र समस्या देखने के लिए अच्छा – harryovers

+4

क्या मध्यम पीले रंग का डायनासोर आकार है? –

+1

lol, दाईं ओर वाला एक बतख – harryovers

उत्तर

3

सेल पर एक क्लिक ईवेंट जोड़ें - उदा। सेल पर क्लिक करें। प्रत्येक क्लिक तब सेल की स्थिति बदल सकता है। इस स्थिति को फिर AJAX के माध्यम से स्टोर किया जा सकता है या एक फॉर्म पर सबमिट बटन का उपयोग कर सकता है। प्रत्येक सेल एक छिपे हुए फॉर्म फ़ील्ड से संबंधित हो सकता है, जहां आप स्थिति रख सकते हैं।

+0

है, मैं उपयोगकर्ता को उपलब्धता को बदलने के लिए बाएं-क्लिक करने की अनुमति दूंगा (हाँ या नहीं) और संदर्भ मेनू के साथ राइट क्लिक करें विशिष्ट मानदंड निर्धारित करें। ज्यादातर समय लोग हां/नहीं होंगे। मैं निश्चित रूप से दृश्यों के पीछे डेटाबेस को अद्यतन करने के लिए AJAX का भी उपयोग करता हूं। अधिकांश कैलेंडर कार्यक्रम तुरंत दर्ज किए जाने पर परिवर्तन करेंगे और सबमिट बटन को हिट करने के लिए आपको "भूलना" के साथ समस्या हो सकती है। किसी भी "सबमिट" बटन का मतलब सिर्फ "ठीक है, मैं कर चुका हूं, अब मुझे कहीं और ले जाएं"। – Sparafusile

+0

इस मार्ग को आगे बढ़ाने के लिए जाना - समझदार लगता है, लेकिन मुझे यकीन नहीं था कि यह संभव था। मुझे स्पष्ट रूप से बताया गया है कि मानदंड निर्धारित करने के लिए एक संदर्भ मेनू नहीं चाहता था - यह मेरा मूल विचार भी होगा। हालांकि, दृश्यों के पीछे अद्यतन करना आवश्यक लगता है। चीयर्स :) – MoominTroll

1

शायद Google कैलेंडर से कुछ प्रेरणा लें। वहां आप कई दिनों के क्लिक-ड्रैग करके महीने के दृश्य में एक टाइमपैन का चयन कर सकते हैं। मुझे लगता है कि लंबे समय तक प्रवेश करने का एक तेज़ तरीका है। (ड्रैगन के निचले भाग की तरह)

+0

और एक सप्ताह कैलेंडर प्लगइन है जो यह करता है। मुझे लिंक नहीं पता है, लेकिन उन 10 jquery प्लगइन्स पर यह बहुत लोकप्रिय है, आपके पास ब्लॉग टाइप होना चाहिए ताकि Google आपका मित्र हो। – robodisco

+0

ड्रैगिंग कार्यों को अभी ठीक करें पर क्लिक करें - यह कई "राज्य" होने का कार्यान्वयन है जो समस्या थी - अभी मैं एक चेकबॉक्स – MoominTroll

+0

@adam से चालू/बंद स्थिति में बाध्यकारी हूं, आप शायद पूर्ण कैलेंडर के बारे में सोच रहे हैं, लेकिन मैं मुझे यकीन नहीं है कि यह यहां काम करेगा। – Ryan

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