Borrar campo de formulario después de seleccionar para jQuery UI Autocompletar


Answers

$(this).val(''); 

en lugar de

$(this).val() = "";
Question

Estamos usando Autocompletar de JQuery UI y tengo problemas para borrar el cuadro de texto que contiene el término de búsqueda una vez que se completa la consulta. Aquí está nuestro código JQuery:

$(document).ready(function () {
        $("form#search input#term").autocomplete({
            source: '<%= Url.Action("Display", "Search") %>',
            delay: 200,
            minLength: 3,
            parse: function (data) {
                var array = new Array();
                for (var i = 0; i < data.length; i++) {
                    array[array.length] = { data: data[i], value: data[i], result: data[i].link };
                }
                return array;
            },
            select: function (event, ui) {
                window.location.href = ui.item.value;
                $(this).val() = "";
                return false;
            }
        });
    });

Este código funciona bien en Firefox, pero IE 8 está lanzando una excepción y ofrece un diálogo que pregunta si quiero usar IE Script Debugger. Vi esta publicación de Desbordamiento de pila: Borrar el campo de formulario después de seleccionar para JQuery UI Autocompletar, que dice que la solución al problema es devolver falso desde la función de selección JQuery, pero eso no ayudó. ¿Alguien tiene sugerencias sobre cómo solucionar esto?




esto funciona para mí ...

jQuery('.SELECETOR'). autocomplete({
   ....
   ....
}).on( "autocompleteselect", function( event, ui ) {
               jQuery(this).val('');
         });