प्रस्तुत निर्मित यह मेरे वर्तमान समाधान का उपयोग है का उपयोग कर सकते jQuery UI के autocomplete:
$('#some-input').autocomplete({
source: 'some-url',
autoFocus: true,
minLength: 2,
select: function(event, ui) {
//remember the selected item
$('#some-input')
.data('selected-item', ui.item.label);
}
}).blur(function() {
var value = $('#some-input').val();
//check if the input's value matches the selected item
if(value != $('#some-input').data('selected-item')) {
//they don't, the user must have typed something else
$('#some-input')
.val('') //clear the input's text
.data('selected-item', ''); //clear the selected item
}
});
हर बार कलंक घटना शुरू हो रहा है, इनपुट के मूल्य है पहले उठाया गया है की जांच की। यदि इसे नहीं चुना गया है (आप जानते हैं कि चयन ईवेंट कभी ट्रिगर नहीं हुआ है), 'चयनित-आइटम' चर इनपुट के मान से मेल नहीं खाएगा। फिर आप जो चाहें कर सकते हैं (मैं इनपुट साफ़ करता हूं, लेकिन आप कुछ और कोशिश कर सकते हैं)।
नहीं किया जा सकता तुम सिर्फ हेवन ड्रॉपडाउन 'onChange' पर एक "श्रोता" के "change" event उपयोग कर सकते हैं? यह बदल गया है, इसका मतलब है कि कुछ चुना गया है, और इस प्रकार आप सबमिट बटन को सक्षम कर सकते हैं। – Steven