Estoy desarrollando un formulario y usando jQuery UI Autocomplete. Cuando el usuario selecciona una opción, quiero que la selección aparezca en un intervalo adjunto a la <p>
etiqueta principal . Entonces quiero que el campo se borre en lugar de que se rellene con la selección.
El lapso parece estar bien, pero no puedo despejar el campo.
¿Cómo se cancela la acción de selección predeterminada de jQuery UI Autocomplete?
Aquí está mi código:
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>");
}
});
Simplemente hacer $(this).val("");
no funciona. Lo que es enloquecedor es que casi la función exacta funciona bien si ignoro la función de autocompletar y simplemente actúo cuando el usuario escribe una coma como tal:
$('[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>");
}
});
El resultado final real es que el autocompletado funcione con múltiples selecciones. Si alguien tiene alguna sugerencia al respecto, será bienvenido.