Estoy tratando de obtener datos que se seleccionan dentro de una selección múltiple. Sin embargo, quiero mostrar las opciones seleccionadas dentro de otro campo en el formulario. Por lo tanto, no quiero enviar el formulario real antes de obtener los datos y mostrarlos.
¡Quiero usar el valor principalmente para recopilar información de una base de datos que le da al usuario una cantidad especificada para esa opción de selección!
He intentado múltiples soluciones diferentes de diferentes hilos, ¡pero desafortunadamente no han funcionado!
Seleccione de cuál quiero reunir las opciones seleccionadas:
<div class="col-12"> <label for="misstanke" class="form-label">Lagöverträdelser</label> <select multiple name="misstanke[]" onkeydown="return event.key != 'Enter';" class="form-select form-select-md"> <?php include('selects/overtradelser.php'); ?> </select> </div>Campo de entrada en el que quiero mostrar los datos:
<div class="mb-3"> <label for="straff" class="form-label">Påföljder</label> <input type="text" onkeydown="return event.key != 'Enter';" class="form-control" name="straff" id="straff"> </div>Código:
function Straff() { var select1 = document.getElementById("misstanke"); var selected1 = []; for (var i = 0; i < select1.length; i++) { if (select1.options[i].selected) selected1.push(select1.options[i].value); } document.getElementById("straff").setAttribute('value', select1); }Para actualizar el valor de una entrada, asigne a su value la propiedad, no el atributo.
Debe usar el método join() para convertir la matriz en una cadena con un delimitador específico.
document.getElementById("straff").value = selected1.join(',');