Estoy usando el complemento del cuadro desplegable jQuery select2 (última versión) y tengo un problema en el que permito que el usuario ingrese una ID de empleado para devolver los nombres de los empleados coincidentes. Esto funciona.
En todas las búsquedas, devuelvo un valor (el "estado" de la llamada ajax y la matriz de empleados, si se encuentra). Sospecho que esto puede confundir a select2 para que siempre piense que hay resultados.
Cuando no hay empleados reales devueltos, ¿cómo puedo decirle explícitamente a select2 que no se encontraron resultados para que muestre ese mensaje?
Actualmente, recibo un desagradable error de jQuery cuando no se encuentran resultados:
jquery-3.6.0.min.js:2 jQuery.Deferred exception: Cannot read properties of undefined (reading 'length') TypeError: Cannot read properties of undefined (reading 'length') at e (https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js:2:39169) at Object.<anonymous> (https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.13/js/select2.min.js:2:38243) at e (https://code.jquery.com/jquery-3.6.0.min.js:2:30038) at t (https://code.jquery.com/jquery-3.6.0.min.js:2:30340) undefinedIba a eliminar cuando encontré la respuesta poco después, pero pensé que esto podría ayudar a los futuros codificadores.
Simplemente devuelva un valor explícito de "resultados" con un objeto json vacío en el formato que select2 espera como se muestra a continuación:
return { results: [] };