2010-04-06 10 views
27

प्रश्न: इनपुट क्षेत्र के लिए किसी स्थान ("City, State") का सुझाव देने के लिए आप JQuery Auto-Completion plugin का उपयोग कैसे कर सकते हैं?JQuery: कैसे "शहर, राज्य" स्वत: पूर्ण करने के लिए?

अर्थ, किसी "शिकागो, आईएल" में टाइप करना चाहता है ... इसलिए वे "Chi" लिखना शुरू करें और यह स्वतः सुझाव "Chicago, IL "।

मेरी सबसे बड़ी बाधा दौड़ के लिए एक सेवा है कि मैं क्वेरी कर सकता है हो रही है सभी अमेरिकी शहर + राज्य के नाम पता लगाने के लिए।

मैं अनिवार्य रूप से क्या StackOverflow "टैग" इनपुट फार्म काम करता है, लेकिन फार्म "शहर, राज्य" स्वत: पूर्ण करना चाहते हैं।

उत्तर

2

आप या तो एक ajax बनाने की जरूरत है सीए जब भी "ऑटो पूर्ण" ड्रॉप डाउन को अपडेट करने के लिए किसी कुंजी को दबाया जाता है, या सर्वर को सभी संभावित "शहर-राज्य" तारों की एक सरणी शामिल करने के लिए सर्वर पर ले जाएगा और कुंजी दबाए जाने पर उन्हें फ़िल्टर करें।

38

भू-नाम नामक एक समूह है जो इस प्रकार के डेटा को प्राप्त करने के लिए डाउनलोड करने योग्य डेटाबेस और मुफ्त वेबसाइसेस दोनों प्रदान करता है। उदाहरण के लिए, खोज

http://ws.geonames.org/searchJSON?name_startsWith=Chic&country=US 

कि शिकागो, आईएल भी शामिल है (: "शिकागो" और "adminCode1": "आईएल" JSON गुण दूसरों के बीच में शामिल हैं, "नाम") JSON के एक झुंड वापस आ जाएगी।

जैसा होता है, jQuery UI लोगों ने demo of autocomplete के लिए इस डेटास्रोत का उपयोग किया। (लिंक के लिए धन्यवाद निकट)।

+0

बहुत अच्छा! धन्यवाद, @ जैकोबएम :) –

+10

बहुत अच्छा, मैंने नीचे दिए गए लिंक पर आधिकारिक एकीकरण पाया -> http://jqueryui.com/demos/autocomplete/#remote-jsonp – NickT

+2

@NickT आपको यह जवाब स्वीकार करना चाहिए यदि आप ' फिर भी चारों ओर पहचानें :-) –

1

@Teleport एक API to search cities by name प्रदान करता है, उदा .: https://api.teleport.org/api/cities/?search=San,%20United%20States%20of%20America रिटर्न सैन एंटोनियो, सैन डिएगो, सैन जोस और सैन फ्रांसिस्को। आप राज्य भी पास कर सकते हैं, उदा। https://api.teleport.org/api/cities/?search=San,%20Tex,%20United%20States%20of%20America केवल सैन एंटोनियो लौटाता है। और आप एपॉर्ट कोड (जैसे एसएफओ) और अन्य "उपनाम" द्वारा भी खोज सकते हैं।

वहाँ भी पर https://github.com/teleport/autocomplete

प्रकटीकरण इस एपीआई उपलब्ध के लिए एक स्वत: पूर्ण विजेट है: मैं टेलेपोर्ट के लिए काम करते हैं।

संपादित करें: "संयुक्त राज्य अमेरिका" में "अमेरिका" प्रत्यय जोड़ा गया है, क्योंकि कुछ अन्य देशों (ब्राजील, वेनेज़ुएला) के नाम "संयुक्त राज्य" से मेल खाते हैं।

+0

अरे, महान एपीआई! त्वरित प्रश्न हालांकि, स्वतः पूर्ण एपीआई वास्तव में मुफ़्त है? क्या होगा यदि मैं इसे अपनी साइट के लिए उपयोग करना चाहता हूं क्योंकि मैं Google स्थल एपीआई लाइसेंस बर्दाश्त नहीं कर सकता हूं? –

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