php - dynamic dropdown is populated ONLY if I click on it -
मेरे पास एक टेक्स्ट बॉक्स है (ऑटो-पूर्ण) जहां उपयोगकर्ता एक अभिनेता / अभिनेत्री का नाम दर्ज कर सकते हैं जो ठीक काम करता है। जैसे ही उपयोगकर्ता टेक्स्ट बॉक्स में एक नाम डालने के लिए, एक गतिशील ड्रॉपडाउन उस अभिनेता की फिल्मों की सूची दिखाने में पॉपुलेट होना चाहिए।
समस्या:
जब उपयोगकर्ता टेक्स्ट बॉक्स में कोई नाम डालें, एक खाली ड्रॉपडाउन पॉपुलेटेड हो जाता है, लेकिन अगर उपयोगकर्ता पृष्ठ में ड्रॉपडाउन या कहीं पर क्लिक करता है, तो फिल्मों की सूची दिखायी जाती है ड्रॉपडाउन में! एक और मुद्दा यह है कि अगर उपयोगकर्ता प्रेस पाठ बॉक्स के अंदर प्रवेश करता है (उसके बाद वह नाम डाला जाता है), तो टेक्स्ट बॉक्स साफ़ हो जाएगा !! कोई मुझे कृपया मुझे अपने कोड में क्या समस्या है, यह जान सकता है?
यहां कोड है:
& lt; html & gt; & Lt; शीर्ष & gt; & Lt; link type = "text / css" href = "res / jquery-ui.css" rel = "स्टाइलशीट" / & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" src = "res / jquery.min.js" & gt; & lt; / स्क्रिप्ट & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" src = "res / jquery-ui.min.js" & gt; & lt; / स्क्रिप्ट & gt; & Lt; script src = "http://thecodeplayer.com/uploads/js/prefixfree-1.0.7.js" प्रकार = "टेक्स्ट / जावास्क्रिप्ट" प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; & lt; / script & gt; & Lt; / head & gt; & LT; बॉडी & gt; & LT; प्रपत्र & gt; & Lt; p & gt; & Lt; इनपुट प्रकार = "टेक्स्टबॉक्स" नाम = "टैग" आईडी = "टैग" प्लेसहोल्डर = "कोई अभिनेता / अभिनेत्री का नाम यहां दर्ज करें" / & gt; & Lt; / p & gt; & Lt; p & gt; & Lt; चुनें id = "movieName" name = "movieName []" एकाधिक = "एकाधिक" चौड़ाई = "200px" आकार = "10px" शैली = "प्रदर्शन: कोई नहीं;" & gt; & Lt; / चयन & gt; & Lt; / p & gt; & Lt; स्क्रिप्ट प्रकार = "टेक्स्ट / जावास्क्रिप्ट" & gt; $ {Document} .ready (function () {$ ("# tags")। Autocomplete ({source: "actorsauto.php", minLength: 2, फ़ोकस: फ़ंक्शन (इवेंट, यूआई) {event.preventDefault (); return झूठे;}, चुनें: फ़ंक्शन (इवेंट, यूआई) {$ ("# टैग")। पर ('स्वत: पूर्णांक परिवर्तन', फ़ंक्शन () {var selectedVal = $ (this) .val (); $ .post ("क्रियाएं .php ", {q: selectedVal}, फ़ंक्शन (प्रतिक्रिया) {console.log (प्रतिक्रिया); $ (" # मूवी नाम ")। Html (प्रतिक्रिया)। दिखाएं ();});})। परिवर्तन ();} });}); & Lt; / स्क्रिप्ट & gt; & Lt; / प्रपत्र & gt; & Lt; / body & gt; & Lt; / html & gt;
और यह actions.php है:
& lt;? Php error_reporting (E_ALL); Ini_set ('display_errors', 1); $ Html = ""; यदि (isset ($ _ POST ['q']) & amp; खाली! ($ _ POST ['q'])) {try {include ('imdbConnection.php'); $ Sql = $ conn- & gt; तैयार करें ("कास्ट फिल्म के नाम से चुनें फिल्म का नाम कहाँ है castName =: q"); $ Sql- & gt; निष्पादन (सरणी (': q' = & gt; $ _POST ['q'])); जबकि ($ पंक्तियाँ = $ sql- & gt; फ़ेच करें (पीडीओ :: FETCH_ASSOC)) {$ option = '& lt; विकल्प मान = "'। $ पंक्तियां ['फिल्मनाम']।" & Gt; ' । $ पंक्तियां ['मूवी नाम'] '& Lt; / विकल्प & gt;'; $ Html। = $ विकल्प; }} पकड़ (पीडीओएक्सेप्शन $ ई) {गूंज 'त्रुटि:' $ ई & gt; getMessage (); } $ Html गूंज; बाहर जाएं; }? & Gt;
यह भाग।
$ ("# टैग ")। ('Autocompletechange change', function () {var selectedVal = $ (this) .val (); $ .post (" actions.php ", {q: selectedVal}, फ़ंक्शन (प्रतिक्रिया) {console लॉग (प्रतिक्रिया); $ ("# मूवी नाम")। Html (प्रतिक्रिया)। दिखाएं ();});})। परिवर्तन ();
कार्रवाई "परिवर्तन" पर की जाएगी ।
संपादित करें: आपको इस हिस्से को बदलना चाहिए ..
$ (" ('एक्टोकोप्लेटेबैक कुंजीप'), फ़ंक्शन () {var selectedVal = $ (this) .val (); $ .post ("actions.php", {q: selectedVal}, फंक्शन (प्रतिक्रिया) {कंसोल .log (प्रतिक्रिया); $ ("# मूवी नाम")। Html (प्रतिक्रिया)। दिखाएं ();})}})। कुंजीप ();
Comments
Post a Comment