2009-06-21 25 views
25

मैं इस की कोशिश की है, लेकिन यह काम नहीं करता है:टेक्स्टबॉक्स ऑनफोकस को कैसे साफ़ करें?

$(function() { 
    $('input[type=text]').focus(function() { 
     $(this).val() == ''; 
     }); 
}); 
+1

@ $ (यह) .val() == '' आप समानता जांच कर रहे थे और @ जोन एरिक्सन कहते हैं कि वैल() बहुत आसान jQuery फंक्शन – Rony

उत्तर

76

मान सेट करने के लिए आपको एक पैरामीटर के रूप नया मान पारित करने के लिए की है। यह .val() jQuery फ़ंक्शन के साथ एक मजेदार बात है।

$(this).val('') 

jQuery API पर एक नज़र डालें और 'वैल'

+1

लॉल काम करता है। मुझे आश्चर्य है कि उन्होंने ऐसा क्यों किया .. धन्यवाद – sarmenhb

+0

कोई समस्या नहीं ... मैंने इसे कठिन तरीके से भी सीखा है =) –

+8

उन्होंने "ऐसा ही किया" क्योंकि यह एकमात्र चीज है जो दूरस्थ रूप से समझ में आता है। आपने जो करने की कोशिश की वह पहले असाइनमेंट (=) नहीं है, यह एक तुलना (==) है। और यहां तक ​​कि यदि कोई भाषा उस फ़ंक्शन से मूल्य लौटने का समर्थन करती है जिसे उस तरीके से असाइन किया जा सकता है, तो यह एक भयानक विचार है; तो अगर आपने "var x = $ (this) .val(); x = 27;" आप केवल एक्स के मूल्य को बदल नहीं पाएंगे, लेकिन आपका इनपुट, पूरी तरह से प्रतिबिंबित और बेहद मुश्किल तरीके से डीबग करना मुश्किल होगा। – chaos

4

एक छोटी सी देर लेकिन एक और दृष्टिकोण इस

link text

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

समाशोधन के बजाय पाठ का चयन करना यह उदाहरण के उपयोगकर्ता को याद दिलाता है। मुझे लगता है कि मुझे लगता है कि एक।

+0

वह चाल वास्तव में दिलचस्प थी! – sivann

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