2011-02-21 10 views
5

क्या कोई रूबी पर रूबी में टेक्स्ट फ़ील्ड के लिए संकेत टेक्स्ट (डिफ़ॉल्ट टेक्स्ट नहीं) सेट करने का सबसे अच्छा तरीका सुझा सकता है। वर्तमान में मैं इस का उपयोग कर रहा:रेल पर रूबी में टेक्स्ट फ़ील्ड में संकेत टेक्स्ट सेट करना

<%= text_field_with_auto_complete 
    "customer", 
    :contact_person, { 
    :value => 'last, first', 
    :style => 'color:#aaa;width:11em;', 
    :onfocus => "if(this.getValue()=='last, first'){this.clear();this.style.color = '#000';}", 
    :onblur => "if(this.getValue()==''){this.setValue('last, first');this.style.color = #aaa';}" 
    } %> 

टेक्स्ट फ़ील्ड में एक डेटाबेस में एक मूल्य के लिए एक मॉडल के लिए और बदले में जुड़ा हुआ है। साथ ही, index.html में उपयोग किया जाने वाला वही एचटीएमएल भी edit.html में उपयोग किया जाता है और इसलिए जब मैं फ़ील्ड को संपादित करने का प्रयास करता हूं, तो डिफ़ॉल्ट मान डेटाबेस से मूल्य के बजाय दिखाई देता है। ऐसा करने का सही तरीका क्या है?

नोट: मैं डिफ़ॉल्ट मान सेट करने की कोशिश नहीं कर रहा हूं, लेकिन टेक्स्ट बॉक्स में केवल एक संकेत दर्ज करने की आवश्यकता है।

धन्यवाद,

राजा राम

उत्तर

2

इस jQuery प्लगइन

http://plugins.jquery.com/project/hint

का प्रयास करें या यहाँ चुनें: प्रोटोटाइपलिए

http://plugins.jquery.com/plugin-tags/hint

http://davidchambersdesign.com/autopopulating-input-fields-with-prototype/

+0

उत्तर के लिए धन्यवाद। लेकिन क्या प्रोटोटाइप लाइब्रेरी में ऐसा कुछ है ?? मैं वर्तमान में प्रोटोटाइप लाइब्रेरी का उपयोग कर रहा हूं। – rajaramyadhav

+0

एचडीएमएल 5 के लिए http://davidchambersdesign.com/autopopulating-input-fields-with-prototype/ – fl00r

4

मैं एचटीएमएल 5 placeholder विशेषता का उपयोग, और फिर इसे पुराने ब्राउज़र पर काम करने के लिए एक jQuery प्लगइन का उपयोग कर की सलाह देते हैं (जैसे this one, लेकिन वहाँ are many others on Google)।

आप see this technique used in production here कर सकते हैं।

+0

+1 :) वास्तव में अधिकांश प्लगइन प्लेसहोल्डर विशेषता के माध्यम से काम करते हैं – fl00r

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