Comunidad de diseño web y desarrollo en internet online

Problema al usar un SELECT de salto con JQuerry

Citar            
MensajeEscrito el 25 Jul 2013 02:03 pm
:D Hola!

Hoy vengo con el siguiente problema, tengo un select de salto usando JQuerry, PHP y MySQL, pero tengo la sospecha que el error esta en JQuerry, pues al darle click en alguna de las opciones dinámicas el "val" no pasa correctamente:

Este es mi JQUERRY

Código Javascript :

<script type="text/javascript">
$(document).ready(function() {
   $(".menu_salto").change(function() {
      var val = $('select option:selected').val();
      if (val != '') {
      location.href=val;
   }
   });
});   
</script>


Este es el SELECT:

Código PHP :

$s2="Select * From status ORDER BY id_status ASC  LIMIT 2,1234567";
   $result2=mysql_query($s2);
   echo '<select name="status_nuevo" class="menu_salto" style="font-family:Verdana, Geneva, sans-serif; font-size:24px; background-color:#E1FFE1 ">';
   //Genero el menu desplegable
   while ($row2=mysql_fetch_array($result2)){
      echo '<option value="modstatus.php?new='.urlencode($row2["nom_status"]);
      if($row2["nom_status"] == $statusoriginal){echo "selected";}
      echo '">'.$row2["nom_status"].'</option>';}
   echo '</select>';


Esta parte de PHP me muestra correctamente el SELECT de hecho coloco como me lo imprime en el navegador:

Código HTML :

<select name="status_nuevo" class="menu_salto" style="font-family:Verdana, Geneva, sans-serif; font-size:24px; background-color:#E1FFE1 ">
<option value="modstatus.php?new=DISENO">DISENO</option>
<option value="modstatus.php?new=DESARROLLO">DESARROLLO</option>
<option value="modstatus.php?new=PRODUCCION">PRODUCCION</option>
<option value="modstatus.php?new=FINALIZADO">FINALIZADO</option>
<option value="modstatus.php?new=SUCURSAL">SUCURSAL</option>
<option value="modstatus.php?new=ENTREGADO">ENTREGADO</option>
<option value="modstatus.php?new=CANCELADO">CANCELADO</option>
</select> 


Y al darle click al que sea, el navegador me redirecciona a : www.ejemplo.com/CANCELADO , no importa que seleccione siempre me saca el mismo resultado.

Que estoy haciendo mal?
Saludos y buena tarde!

Por erigobre

26 de clabLevel



 

México Distrito Federal

chrome
Citar            
MensajeEscrito el 25 Jul 2013 02:20 pm
se escribe jQuery, con una sola R

en cuanto a tu problema lo que sucede es que el método val(), se debe aplicar sobre el select, más no sobre las opciones de este, entonces te quedaría algo así:

Código Javascript :

$(".menu_salto").change(function() {

      var val = $(this).val();

      if (val != '') {

      location.href=val;

   }

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 25 Jul 2013 02:37 pm
Te lo agradezco mucho!
Quedo perfecto y funcionando.


De manera personal aún no tengo claro cual es el problema a ciencia cierta, el usar :

Código Javascript :

 var val = $(this).val();


o

Código Javascript :

  var val = $('select option:selected').val();


En teoría al segundo le estoy diciendo que el "select" que tenga la opción "selected" tome su val(), no? o mi lógica en jquery esta aún mal enfocada. (que es lo más probable)


Gracias nuevamente!

Por erigobre

26 de clabLevel



 

México Distrito Federal

chrome
Citar            
MensajeEscrito el 25 Jul 2013 04:35 pm
Pues no. No se trata de la "logica de JQuery. Se debe a que los <option> de un <select> son los posibles valores que puede tomar el <select>

Por DriverOp

Claber

2510 de clabLevel



 

opera
Citar            
MensajeEscrito el 27 Jul 2013 03:30 pm
Lo que pasa es que el método val() está hecho para funcionar con elementos tipo formulario, es decir inputs, selects y textareas, que son los únicos elementos que pueden tener valores, para obtener los que este adentro de cualquier otro elemento como <p>, cualquier <div> o incluso los <option> de un select, se usa el método text(), que básicamente extrae el texto (no valor) de cualquier etiqueta html que no sea tipo formulario.

Por HtrMancera

Claber

342 de clabLevel

1 tutorial

Genero:Masculino  

Front-end Developer

chrome
Citar            
MensajeEscrito el 29 Jul 2013 12:14 pm
Puedes obtener el valor de "value" de un <option> con .attr() también.

Por DriverOp

Claber

2510 de clabLevel



 

opera

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.