¿Me pueden ayudar sobre cómo hacer que los valores de la casilla de verificación sean una matriz de datos? Codifico así y no obtengo ningún resultado. Gracias por ayudarme.
En mi html:
<input class="form-check-input delete-checkbox" type="checkbox" name="checkbox[]" id="checkbox" value="{{ $item->id }}"data-id="{{ $item->id }}">En mi JS:
function multiple_delete(id) { const selected = []; $(".form-check input[type=checkbox]:checked").each(function () { selected.push(this.value); }); if (selected.length > 0) { dataid = selected.join(","); $.ajax({ url: "multiple-delete", type: "POST", data: +dataid, success: function (data) { if (data["success"]) { alert(data["success"]); } else { alert(data["error"]); console.log(data); } }, error: function (data) { alert(data.responseText); }, }); } }Mi salida:
En primer lugar, está utilizando el selector incorrecto. Debe cambiar .form-check en javascript a .form-check-input o .delete-checkbox . También puede obtener fácilmente los valores de las casillas de verificación seleccionadas utilizando el método .map() de jquery.
Cambia tu código javascript a algo como esto
function multiple_delete(id) { const selected = $(".delete-checkbox:checked").map((i, el) => el.value).get(); if (selected.length > 0) { $.ajax({ url: "multiple-delete", type: "POST", data: selected.join(","), success: function (data) { if (data["success"]) { alert(data["success"]); } else { alert(data["error"]); console.log(data); } }, error: function (data) { alert(data.responseText); }, }); } }