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.
fuente
$(this).val('');
).val('')
que aún debe ocurrir una llamada a . Elreturn false;
sólo evitará que el texto del elemento seleccionado de aparecer en el campo de entrada.En lugar de devolver falso, también puede usar event.preventDefault ().
fuente
return false es necesario dentro de la devolución de llamada select, para vaciar el campo. pero si desea volver a controlar el campo, es decir, establecer el valor, debe llamar a una nueva función para salir de la interfaz de usuario.
Quizás tenga un valor inmediato como:
Configúrelo como el valor del elemento. (en el enfoque lo ponemos en '').
fuente
Funciona bien para mi.
Después de seleccionar el evento, utilicé el cambio de evento.
¡Soy un principiante!
fuente
fuente
Lo acabo de resolver forzando a perder el foco:
fuente