En el desarrollo web, a menudo encuentra una casilla de verificación antes de cada grabación en la pantalla de la lista. Haga clic y seleccione el registro para eliminar, modificar, ver y otras operaciones.
La modificación y la visualización son obtener el valor de identificación de un registro y luego pasarlo al fondo para consultar para obtener varios valores de atributo del objeto de registro y luego mostrarlo en la pantalla.
El punto clave del que estoy hablando es seleccionar múltiples registros y luego eliminarlos en lotes. Cómo obtener el valor de identificación de múltiples registros es la clave del problema. El primero es el método para seleccionar la casilla de verificación, todo en la página JSP.
El código es el siguiente:
function checkent (name, allCheckId) {var allCk = document.getElementById (allCheckId); if (allck.ecked == true) checkall (nombre); else checkallNo (nombre); } // Seleccione todas las funciones checkall (name) {var nombres = document.getElementsByName (nombre); var len = names.length; if (len> 0) {var i = 0; para (i = 0; i <len; i ++) if (! nombres [i] .disable) {nombres [i] .ecked = true; }}} // No seleccione la función checkallNo (nombre) {var nombres = document.getElementsByName (nombre); var len = names.length; if (len> 0) {var i = 0; para (i = 0; i <len; i ++) nombres [i] .ecked = false; }}El código JSP que llama a este método:
<input name = "checkall" id = "checkall" onClick = "checKevent ('sellefaqid', 'checkall')" type = "Checkbox"/> </td>Dónde, ChoiceFaqid es el valor de atributo de nombre de la casilla de verificación, y (¿Checkall es el valor de atributo de nombre de la casilla de verificación del encabezado de la tabla?
Cuando la recepción ejecuta el código JS por lotes, debe separar los valores de ID de registro seleccionados con comas y eliminar el código del método por lotes de lo siguiente:
function BatchDeletechFaq (IDSTR) {var ids = "'"; $ ("input [name = 'ChoWfaqid']"). Cada (function () {if (this.ecked) {ids+= this.value+"','"}}); IDS+= "'"; ids = id.replace (/, ''/g, ''); if (ids == "''") {jqdialog.alert ("<s: text name = 'faqmanage.leaseselectfaq'/>"); devolver; } $ .AJAX ({Tipo: "POST", URL: "Admin/FaqManageAction! BatchDeletefaq.Action", Data: {Choicefaqid: ids}, DataType: "Text", Success: Function (Html) {if (html == "éxito") name = 'faqmanage.operationwassuccessful'/> ", function () {window.location.href = window.location.href.replace (/#/g, '' ');});} else {jqDialog.alert (" <s: text name =' faqManage.operationFailedPleassetretryLater '/> ");});}); }); }El fondo obtiene un conjunto de valores de identificación enviados por la recepción
ID de cadena final = this.getRequest (). GetParameter ("Choicefaqid");El método original para obtener el grupo de IDS seleccionado es el siguiente:
ID de cadena final = this.getRequest ().
De esta manera, puede obtener una matriz de cadenas directamente sin ninguna operación de edición. No puedo recordar cuál es la razón por la que cambié al método actual más adelante.
Finalmente, el código que ejecuta el código eliminado en la capa bo de fondo:
/ ** * Batch Eliminar el problema de FAQ basado en ID * @param faqanswer * @return */ public void batchDeletefaq (ID de cadena final) {String final hql = "Eliminar de faqanswer o where o.id in ("+ids+")"; faqmanagerdao.execute (HQL); }En resumen, uso el método de envío AJAX. Después de hacer clic en el botón Eliminar por lotes, primero determine si el usuario ha seleccionado al menos el registro, de lo contrario aparecerá un mensaje de solicitud. Después de seleccionar, haga clic en el botón Eliminar para ejecutar el método de fondo. Si la operación no se ejecuta, aparece el cuadro de mensaje de falla de la operación.
El anterior es el método para obtener múltiples valores de identificación después de hacer clic en la casilla de verificación en la pantalla de la lista. Espero que sea útil para todos. Si desea saber más información, ¡preste atención al sitio web de Wulin.com!