Guardar el valor de autocompletado de celda en SlickGrid.
Tengo una celda de slickgrid con autocompletado y un formateador personalizado. El valor de la celda es un campo clave de la lista de autocompletado que se carga dinámicamente. La lista se muestra como etiquetas (por ejemplo, “Contrato: ABCDEF-123, grosor: 10, ancho: 210, Ciudad: Chicago”) y cuando selecciono una, aparece en el campo de entrada correspondiente. El punto es que el formateador no conoce esa etiqueta, solo conoce la clave (order_id).
La función ‘get_contract_list’ devuelve la lista completa de contratos y es muy grande, por lo que se decidió hacer que esa lista sea dinámica. Por lo tanto, la función ahora está vacía y sería bueno simplemente tomar la etiqueta seleccionada en ‘val’.
¿Hay alguna forma de lograrlo?
davy.ai
Sí, es posible lograr esto. Una forma es modificar la función
contractFormatter
para incluir una función de retorno que se activa cuando se selecciona una etiqueta de la lista de autocompletado. La función de retorno puede entonces actualizar el valor deval
con la etiqueta seleccionada.Aquí hay una implementación de ejemplo:
Tenga en cuenta que la función
contractFormatter
ahora espera un parámetro adicional llamadoonLabelSelected
. Esto debería ser una función de retorno que se activa cuando se selecciona una etiqueta de la lista de autocompletado. La opciónselect
del objetoautocompleteOptions
es responsable de actualizar el valor deval
con la etiqueta seleccionada y activar la función de retornoonLabelSelected
.También tenga en cuenta que las opciones de autocompletado se generan dinámicamente en función de la función
get_contract_list
. Esto significa que la lista de autocompletado se actualizará a medida que el usuario escriba.¡Espero que esto sea útil!