Tengo un menú desplegable en un formulario con elementos recuperados de una base de datos. Algo como esto :
for($i=0;$i<count($resq);$i++){ print("<li><a class=\"dropdown-item\" href=\"#\" id=\"$i\">{$resq[$i][0]}</a></li>"); } $resq es una matriz que contiene el resultado de la consulta (usé mysqli_fetch_all ).
Como puede ver, traté de generar dinámicamente la identificación de los elementos (el primer elemento tiene id=0 , el segundo tiene id=1 y así sucesivamente hasta el valor final de $i ), pero creo que esto no es correcto.
Anteriormente, tenía el siguiente código JS (que funcionó) que usé para establecer el valor desplegable en el seleccionado por el usuario y para establecer el valor de una entrada oculta en ese valor. (Sé que el código no es elegante pero solo quería probar la lógica en primer lugar)
var x=document.getElementById('dropdownMenuButton1slct');//dropdown var c1=document.getElementById("0");//i - categories(IDs of the dropdown elements) var c2=document.getElementById('1'); var c3=document.getElementById('2'); var c4=document.getElementById('3'); var c5=document.getElementById('4'); var p=document.getElementById('iaval');//hidden input from form function clic(z){ z.onclick=function () { x.innerHTML=z.innerHTML; p.value=x.innerHTML; }; } clic(c1); clic(c2); clic(c3); clic(c4); clic(c5);Pero ahora el mismo método no funcionará. Si puede, sugiérame una forma diferente o algo así, estoy un poco atascado. Puedo proporcionar más información si esto parece vago o algo así. Gracias.