Tengo un contador que aumenta/disminuye con +1 cuando se hace clic en un botón.
Los botones son
<button onClick="onClick()" type="button">ADD MORE</button> <button onClick="onUnClick()" type="button">X</button>Entonces el valor en H6 cambia
<h6 class="askclient">How Many? <a id="clicks">1</a></h6>Mi código Javascript
<script> var clicks = 1; function onClick() { clicks += 1; document.getElementById("clicks").innerHTML = clicks; }; function onUnClick() { clicks -= 1; document.getElementById("clicks").innerHTML = clicks; }; </script>Necesito modificarlo para agregar/restar también el valor de un menú desplegable de selección al contador para que el total ahora tenga en cuenta el texto del menú desplegable. El menú desplegable:
<select id="ddlViewBy" name="repetition[]"> <option value="1">None</option> <option value="2">1</option> <option value="3">2</option> <option value="4">3</option> <option value="5">4</option> </select>Puedes usar onChange para hacerlo.
<h6 class="askclient">How Many? <a id="clicks">1</a></h6> <button onClick="onClick()" type="button">ADD MORE</button> <button onClick="onUnClick()" type="button">X</button> <select id="ddlViewBy" name="repetition[]" onChange="onChange(this)"> <option value="0">None</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> </select> <script> var clicks = 1; function onClick() { clicks += 1; document.getElementById("clicks").innerHTML = clicks; }; function onUnClick() { clicks -= 1; document.getElementById("clicks").innerHTML = clicks; }; function onChange(elem) { clicks += Number(elem.value); document.getElementById("clicks").innerHTML = clicks; document.getElementById("ddlViewBy").selectedIndex = 0; } </script> Se requiere el uso de Number() porque elem.value es una cadena.
Forzar el retorno de selectedIndex al elemento Ninguno. De lo contrario, si se selecciona el mismo número consecutivamente, onChange no se activará.