2012-10-05 9 views
7

मैं नीचे एक jsfiddle आवेदन राशि बदल देता है। आपको कुछ अक्षर बटन, एक "ट्रू" बटन और एक "झूठा" बटन भी दिखाई देगा।यह एक पाठ इनपुट जब कई पत्र बटन का चयन किया जाता

"ट्रू" और "झूठा" बटन पूरी तरह से काम करते हैं, जिसका अर्थ है कि यदि उपयोगकर्ता "ट्रू" पर क्लिक करता है और फिर "गलत" पर क्लिक करता है, तो यह टेक्स्ट इनपुट को प्रतिस्थापित करता है क्योंकि आपके पास कोई जवाब नहीं है "सत्य "और" झूठा "।

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

तो क्या कोई यह जानता है कि इसे प्राप्त करने के लिए मुझे कोड में क्या बदलने की आवश्यकता है?

+0

यह होमवर्क है, है ना? आप हमें स्कूल प्रोजेक्ट पर अपनी परियोजना से जोड़ रहे हैं? – saml

उत्तर

1

आप बटन यहां के लिए एक data-hid उत्पन्न

var input = '<input type="text" id="' + hid + '" value="' + value + '" name="' + id + 'value" />'; 

इस में आईडी चर बटन, की आईडी है जो उदाहरण के लिए answerC होगा। तो जब आप पहली बार बटन पर क्लिक करेंगे तो इसके साथ आपको #hiddenanswerC0value का छिपा मिलेगा।

लेकिन जब आप एक जवाब जोड़ने के बटन इस तरह उत्पन्न एक आईडी होगा:

.attr('id', $this.attr('id')+'Row'); 

तो यह अंत में एक अतिरिक्त होगा। तो data-hid और इनपुट बॉक्स भी अलग-अलग होगा (#hiddenanswerCRow0value)।

संपादित करें: एक और समस्या यह है कि आप वास्तव में नए बटन के लिए डेटा-छिपा नहीं बनाते हैं। आप इसे केवल क्लिक करने के बाद बटन के पहले सेट के लिए बनाते हैं। लेकिन जब आप पहले से सक्रिय किए गए सी बटन के साथ दूसरा सेट (क्लिक करने के बाद) बनाते हैं तो उसके पास data-hid सेट नहीं होगा और इसलिए आप इसे हटा नहीं सकते हैं।

+0

मुझे बस पहेली को बदलने दें, मुझे लगता है कि मैं प्रत्येक प्रश्न से संबंधित प्रत्येक उत्तर के लिए गिनती उत्पन्न करने में सक्षम हूं लेकिन मुझे एक अलग समस्या है – user1723760

+0

मैंने प्रश्न अपडेट किया है और अपडेट किया है, क्या आप कृपया इस समस्या को हल करने और हल करने के लिए प्रयास कर सकते हैं? – user1723760

+0

क्या वह समस्या है जिसे आपने अपडेट किए गए अद्यतन पहेली में संदर्भित किया है? – user1723760

0

ऐसा लगता है कि इनपुट आईडी उस पहले व्यक्ति पर ठीक से सेट हो रही है जिसकी आपको समस्या है। मुझे लगता है कि यह "# hiddenanswerC0value" की आईडी प्राप्त करता है लेकिन अगर मुझे गलत नहीं लगता है, तो "# hiddenanswerCRow0value" होना चाहिए। मैं इसे थोड़ा और अधिक देखूंगा, लेकिन यह आपके लिए इसे समझने के लिए पर्याप्त हो सकता है।

var hid = "hidden" + id + n + "value"; 
$(btn).attr("data-hid", hid); 

इस आधार पर अब आप एक इनपुट फ़ील्ड उत्पन्न:

+0

मैं qustion अद्यतन करूँगा क्योंकि मैंने पहेली बदल दी है और मुझे एक अलग समस्या है, मूल समस्या को भूलें – user1723760

+0

मैंने प्रश्न अपडेट किया है और अपडेट किया है, क्या आप कृपया इस समस्या को हल करने और हल करने के लिए प्रयास कर सकते हैं? – user1723760

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