Hola!
Puedes declarar la variable ‘x’ como global, dentro del objeto window.
var x=0; //valor inicial a 0. crea una variable window.x
function lc_elige_model() {
window.x = document.getElementById(«mySelect»).value;
}
De esta forma la variable x la tendrás accesible posteriormente con el valor uqe tenga al salir de la función lc_elige_model
Iniciador del debate
lcaba
(@lcaba)
Muchísimas gracias por tu respuesta Fernando. El tema es que no se cómo ver el contenido de x.
En php tengo esta línea que hace la llamada desde el SELECT a la función una vez que cambia:
<select name=»lc_elige_modelo» id=»mySelect» onchange=»lc_elige_model()»>
por lo que en php en ningún sitio estoy guardando ese valor x, solo en onchange.
Lo que quiero es tener ese valor elegido en una variable en php para después tener ese modelo de vehículo.
Perdona por las preguntas quizás absurdas, pero es que estoy hoy bastante espeso…
Y de nuevo muchas gracias
En la función de onChange de puedes pasarle la variable event.target.value
<label>Choose an ice cream flavor:
<select class="ice-cream" name="ice-cream">
<option value="">Select One …</option>
<option value="chocolate">Chocolate</option>
<option value="sardine">Sardine</option>
<option value="vanilla">Vanilla</option>
</select>
</label>
var selectElement = document.querySelector('.ice-cream');
var extVariable;
selectElement.addEventListener('change', (event) => {
extVariable = event.target.value;
alert(extVariable);
});
https://codepen.io/c4rl0sbr4v0/pen/YzPKXZE
PHP no recoge valores al vuelo de un select puesto por fuera de un formulario, para eso tienes que usar Javascript, con Javascript, si se produce una recarga de la pagina las variables se reinicializan, por lo que tendrías que hacer una petición en AJAX y una actualización del DOM, o pasar las variables al PHP con un form con método post.
<form action="/action_page.php" id="carform">
Firstname:<input type="text" name="fname">
<input type="submit">
</form>
<select name="carlist" form="carform">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="opel">Opel</option>
<option value="audi">Audi</option>
</select>
Iniciador del debate
lcaba
(@lcaba)
Muchas gracias Carlos:
Ese es el problema. Todo eso lo tenía hecho y mediante GET o POST enviar el resultado, pero al ser una web de WordPress el funcionamiento no es el mismo, en la petición de AJAX al poner la url el archivo de Woocommerce (archive-product.php) no me hace caso. He leído por varios sitios en internet, pero estoy cada vez más perdido y ya no se como seguir.
Lo que necesito es el valor en una variable en PHP posteriormente a la elección para en función de se valor hacer otras cosas. Pero tan solo consigo que la imprima.
Muchas gracias
-
Esta respuesta fue modificada hace 5 años por lcaba.