Opciones de cuadro de selección dependientes en el formulario de edición de jqGrid
jqGrid le permite crear cuadros de selección dinámicos para editar formularios, donde las opciones dependen del selección realizada en un cuadro de selección relacionado. Esto es útil para escenarios como seleccionar un país y completar las opciones de estado en consecuencia.
Problema: valores de opción incorrectos
Sin embargo, surge un problema al editar un registro con un cuadro de selección de estado completado dinámicamente. Los valores de opción del cuadro de selección de estado comienzan desde 0 en lugar del valor esperado de 5.
Solución: restablecer las opciones de edición y reconstrucción manual
Para resolver este problema, el La clave es comprender que jqGrid usa las opciones de edición solo una vez durante la inicialización. Para completar correctamente el cuadro de selección de estado según el país seleccionado, se deben restablecer las opciones de edición y reconstruir el cuadro de selección manualmente.
Así es como se implementa la solución:
Restablecer opciones de edición:
Cambio de datos:
Reconstruir cuadro de selección:
Mantener valores de estado:
Fragmento de código:
// Reset the editoptions for the state select box
var resetStatesValues = function () {
grid.setColProp('State', { editoptions: { value: states}});
};
// Build new options for the state select box based on the selected country
var changeStateSelect = function (countryId, countryElem) {
var sc = statesOfCountry[countryId];
var newOptions = ''; // If needed
for (stateId in sc) { newOptions = ''; }
grid.setColProp('State', { editoptions: { value: statesOfCountry[countryId]} });
if ($(countryElem).is('.FormElement')) {
// Form editing
$(countryElem).closest('form.FormGrid').find("select#state.FormElement").html(newOptions);
} else {
// Inline editing
var row = $(countryElem).closest('tr.jqgrow');
var rowId = row.attr('id');
$("select#" rowId "_State", row[0]).html(newOptions);
}
};
Conclusión
Al restablecer las opciones de edición, reconstruir el cuadro de selección de estado manualmente y mantener el valor de estado seleccionado, puede asegurarse de que se muestre el formulario de edición en jqGrid. los valores de opción correctos para los cuadros de selección dependientes.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3