मेरे पास एक इनपुट फ़ील्ड है, जहां मैं स्वत: पूर्ण सुझाव देने का प्रयास करता हूं। कोड जैसा दिखता है
<input type="text" id="myinput">
<div id="myresults"></div>
इनपुट की blur()
घटना पर मैं परिणाम div को छिपाना चाहता हूं:
$("#myinput").live('blur',function(){
$("#myresults").hide();
});
जब मैं अपने इनपुट में कुछ लिखता हूं तो मैं सर्वर को रिक्वेस्ट भेजता हूं और json रिस्पॉन्स मिलता है, इसे ul-> li स्ट्रक्चर में पार्स करता हूं और इस ul को अपने #myresults
div में डालता हूं ।
जब मैं इस पार्स किए गए li एलिमेंट पर क्लिक करता हूं तो मैं ली से इनपुट और #myresults
डिव को छिपाने के लिए वैल्यू सेट करना चाहता हूं
$("#myresults ul li").live('click',function(){
$("#myinput").val($(this).html());
$("#myresults").hide();
});
सबकुछ अच्छा चल रहा है, लेकिन जब मैं अपने ली blur()
ईवेंट पर क्लिक करता हूं तो आग लग जाती है click()
और इनपुट की वैल्यू ली के एचटीएमएल से नहीं मिलती है।
मैं click()
घटना को पहले कैसे सेट कर सकता हूं blur()
?
blur
आप ए पर क्लिक करने के बाद वास्तव में फायरिंग कर रहे हैं li
, तो आपको शायद $("#myresults").hide()
क्लिक हैंडलर में निष्पादित करने की आवश्यकता नहीं है । ऐसा लगता है जैसे यह हो रहा है कि $(this).html()
एक खाली स्ट्रिंग लौट रहा है । आप log
या alert
$(this).html()
सुनिश्चित करने के लिए?
blur()
click()
blur()