La domanda dice tutto. Il mio completamento automatico jQuery ottiene la sua origine da una delle mie proprie API. Se non riesce a trovare alcuna corrispondenza, restituisce semplicemente "nessuna corrispondenza trovata" che viene quindi visualizzata nel menu a discesa. Quando l'utente si concentra su questo, il testo nella casella cambia in "Nessuna corrispondenza trovata". Quello che voglio fare è visualizzare "nessuna corrispondenza trovata" nel menu a discesa, ma renderlo non selezionabile/selezionabile. Questo è il mio codice fin d'ora:Completamento automatico jQuery, se non è stata trovata alcuna corrispondenza, viene visualizzato "Nessuna corrispondenza trovata" nel menu a discesa ma non consente di concentrarsi su di esso
$(document).ready(function() {
$("input#id_address").autocomplete({
delay: 300,
minLength: 3,
source: function(request, response) {
$.getJSON("/pin/cache/", {q:encodeURI(request.term)}, function(results) {
res = results.results;
response($.map(res, function(item) {
return {
label: item.address,
value: item.address,
lat: parseFloat(item.lat),
lng: parseFloat(item.lng)
}
}));
});
},
select: function(event, ui) {
if (ui.item.value == 'no matches found') {
return;
}
else {
$("#id_address").val(ui.item.value);
var pos = new google.maps.LatLng(ui.item.lat, ui.item.lng);
map.setCenter(pos);
map.setZoom(14);
placeMarker(pos);
}
},
});
});
Come potete vedere, io sto usando un ciclo se altro per verificare la presenza di "nessun risultato" a selezionare: funzione per non fare nulla se si seleziona nessun risultato. Tuttavia, riempie ancora il testo "nessuna corrispondenza trovata" a fuoco. Voglio che la funzionalità predefinita di inserire il testo a fuoco quando vengono trovate le corrispondenze, ma quando non vengono trovate corrispondenze, il menu a discesa dovrebbe essere unfocusable. Eventuali suggerimenti ?
Grazie, ha funzionato perfettamente. – tapan