Tengo un formulario con una cantidad variable de campos de autocompletar que usan la misma lista de selección. Estos campos se agregan y eliminan según sea necesario. Cada vez que se cambia un parámetro en la página, intento actualizar la lista para todos los campos llamando al unbind()
y luego al autocomplete()
con un nuevo parámetro agregado a la url.jQuery Autocompletar: ¿cómo actualizar la lista?
$('input.foo').unbind().autocomplete(url?new_param=bar);
El problema es que desvincular() no parece desvincularse. Cuando escribo en el campo de entrada, desaparece todo el historial de eventos de autocompletar.
También probé flushCache en vano.
¿Cómo se borran los antiguos eventos?
Gracias.
Hola, gracias por responder Deeksy. Probé una autocompleta, pero no funcionó. Lo hice, sin embargo uso removeData ('events') ¡y funcionó! $ ('input.foo') REMOVEDATA ('eventos') autocompletar ('url = new_param bar?')..; Tenga en cuenta que si lo hace, cualquier otro evento asociado a ese elemento se desvanecerá. – cinematic
@cinematic Sí, mirando en el código de autocompletar plugin, lo lamentable es que el evento de espacio de nombres 'keyDown', pero no el clic, el enfoque u otros eventos que se agregan a la entrada como parte de la función de autocompletar. Si se hubieran molestado en llevarlo a cabo, simplemente sería cuestión de ir .unbind ('keypress.autocomplete'). Unbind ('click.autocomplete'). etc. aunque eso debería ser todo en unautocomplete(), supongo. – Deeksy
Agradable ... Gracias por la solución. – Cesar