Sto sviluppando un modulo e utilizzo il completamento automatico dell'interfaccia utente jQuery. Quando l'utente seleziona un'opzione, voglio che la selezione compaia in un intervallo aggiunto al tag principale <p>
. Quindi voglio che il campo si cancelli piuttosto che essere popolato con la selezione.Deseleziona campo modulo dopo seleziona per jQuery UI Completamento automatico
Ho lo span che appare bene, ma non riesco a far sparire il campo.
Come si annulla l'azione di selezione predefinita di completamento dell'interfaccia utente jQuery?
Ecco il mio codice:
var availableTags = ["cheese", "milk", "dairy", "meat", "vegetables", "fruit", "grains"];
$("[id^=item-tag-]").autocomplete({
source: availableTags,
select: function(){
var newTag = $(this).val();
$(this).val("");
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
Semplicemente facendo $(this).val("");
non funziona. Ciò che è esasperante è che quasi l'esatta funzione funziona bene se ignoro completamento automatico, e basta prendere azione quando l'utente digita una virgola come tale:
$('[id^=item-tag-]').keyup(function(e) {
if(e.keyCode == 188) {
var newTag = $(this).val().slice(0,-1);
$(this).val('');
$(this).parent().append("<span>" + newTag + "<a href=\"#\">[x]</a> </span>");
}
});
Il vero risultato finale è quello di ottenere il completamento automatico per lavorare con selezioni multiple. Se qualcuno ha qualche suggerimento per questo, sarebbero i benvenuti.
Fantastico! Mi sento sciocco però. Ora lo so, e sapere è metà della battaglia. –
Mi sembra di averlo sentito prima ... – dclowd9901
Lo ha risolto. Ho provato ad accettare, ma mi ha detto che non potevo farlo per altri 7 minuti. Accettato. Grazie. –