Ver Mensaje Individual
  #2 (permalink)  
Antiguo 26/07/2011, 17:15
Avatar de Naahuel
Naahuel
 
Fecha de Ingreso: marzo-2011
Ubicación: localhost
Mensajes: 796
Antigüedad: 13 años, 8 meses
Puntos: 192
Respuesta: como acceder a los valores de un select con this

Pues para "pasarlo" mejor a jQuery yo le quitaría el atributo "onchange" al select y lo haría así:

Código Javascript:
Ver original
  1. $(function(){
  2.     $('select').change(function(){
  3.         //hacer algo
  4.     });
  5. });

Claro que el selector ('select') lo podemos cambiar por algo más específico si no queremos seleccionar todos los <select> de la página.

Respecto a tu pregunta, te recomiendo que leas la documentación de jQuery ante cualquier duda de qué exactamente hace cada método.

.val() es para elementos de formulario (inputs, selects, textareas, etc). Devuelve el valor que tiene ese elemento. En el caso del select, devolvería el valor del atributo "value" de la opción que está seleccionada o su texto, de no tener dicho atributo. Mirá este ejemplo:


Código HTML:
Ver original
  1. <!DOCTYPE html>
  2. <script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
  3. <meta charset=utf-8 />
  4. <title>JS Bin</title>
  5. $(function(){
  6.     $('select').change(function(){
  7.           alert('Valor: ' + $(this).val());
  8.     });
  9. });
  10.   </script>
  11. </head>
  12. <select id="Hola">
  13.   <option>Op 1</option>
  14.   <option value="2">Op 2</option>
  15.   <option>Op 3</option>
  16.   <option>Op 4</option>
  17.   <option>Op 5</option>
  18.   </select>
  19. </body>
  20. </html>

Observá que la única opción con atributo value es la 2, por lo que si la seleccionás obtendrás un "2" en el alert, pero no así con los demás.

Eso sería todo lo que necesitás, no hace falta que obtengas el "selected-index".
__________________
nahueljose.com.ar