Esta es la parte de HTML que tengo que mostrar el mes entre febrero y octubre.
<div> <select name="interval" id="sInterval"> <option value="2">2</option> <option value="3">3</option> <option selected value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> </select> <span>*2</span> </div>Así que obtuve una lista JS para contener la información del mes.
var months=["2","3","4","5","6","7","8","9","10"]y una función que agrega dos meses al final para ayudar a mostrar el cuadro de selección de febrero a diciembre
function addmonth(thelist) { thelist.push("11"); thelist.push("12"); } addmonth(months)Quiero que el HTML se vuelva así
<div> <select name="interval" id="sInterval"> <option value="2">2</option> <option value="3">3</option> <option selected value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> <span>*2</span> </div>¿Cómo podría lograr esto? ¿Es posible? o debo hacerlo en HTML puro? porque la lista JS se recibe de Jquery, por lo que es necesario en este caso.
Debe agregar las options al elemento select después de actualizar la matriz de months .
Si está utilizando jQuery , simplemente puede usar el método append() .
var months=["2","3","4","5","6","7","8","9","10"] function addmonth( month ) { months.push( month ); $("#sInterval").append(`<option value="${month}"> ${month} </option>`); } addmonth("11"); addmonth("12");puedes intentar algo como esto
const targetParent = document.getElementById("sInterval") ["11","12"].forEach(month => const optionElement = document.createElement("option") optionElement.innerText = month; optionElement.setAttribute("value",month) targetParent.append(optionElement))deberías cambiar el menú todo dinámico
en html) <select id="menu'> </select>
en js: coloque este código en <body onload='menu_maker()' >
let month = [1,2,3,4,5,6,7,8,9,10,11,12]; function menu_maker(){ for (var i in month){ // rounding in list var option = document.createElement("option"); option.value = month[i]; option.innerHTML = month[i]; option.style = 'classname' var select = document.getElementById('menu'); select.appendChild(option); } }