¿Como obtener el valor de un select por medio de su clase?

publicado por: Anonymous

Actualmente quisiera saber como puedo tomar el valor de un selecta ya sea numerico o cadena a travez de su clase, ya lo eh conseguido pero es por medio de su id, no tienen nada de malo con cualquiera es posible realizar la operacion, solo que primordialmente lo quise hacer con su clase y el valor lo puse una alerta, pero me salia en blanco la sintaxis que utilizaba era la siguiente:

alert($(".textLBL").val());

Quisiera saber si para aquirir el valor de un select mediante su clase es de forma diferente a la que se usa por medio de su id. la sintaxis que use con el id es la siguiente.

 alert($("#chkDireccion1").val());

tambien verifique si era un error de dedo al escribir la clase, pero todo estaba correcto. alguien sabe a que se pueda deber.

Lo que quiero es el value no su cadena de texto.

solución

El problema no tiene que ver con como seleccionas el select, y es más sobre que estas seleccionando realmente. Como algunos mencionan los ID deberían ser únicos, y por lo mismo es lo más adecuado usarlos. Mas si la clase que tienes asignada a tu select también es única no tiene ningún problema que selecciones el elemento por medio de esta.

El problema viene cuando varios elementos tienen la misma clase (ya que estas estas como lo dice su nombre designan una clase/tipo y es correcto usarlas más de una vez en un mismo documento), y cuando los selecciones con jQuery tendrás tantos elementos como elementos tengan asignada la clase por la que estas seleccionando. Y si llamas al método .val() este te retornara el valor del primero de los elementos seleccionados, que no necesariamente puede ser el que tu deseas.

Como solución se me ocurren dos cosas:

  • Lo más recomendado es que lo selecciones por su ID.
  • Si necesitas hacerlo por su clase, y varios select tienen esa clase, puedes acceder a uno concreto anexando el selector :eq(indice), donde indice es la posición del elemento que te interesa, y el primero tiene el indice 0.

Por ejemplo:

_x000D_

_x000D_

var $el = $('.i-am-select:eq(2)');_x000D_
alert($el.val());

_x000D_

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>_x000D_
_x000D_
<select class="i-am-select">_x000D_
    <option>one</option>_x000D_
</select>_x000D_
_x000D_
<select class="i-am-select">_x000D_
    <option>two</option>_x000D_
</select>_x000D_
_x000D_
<select class="i-am-select">_x000D_
    <option>three</option>_x000D_
</select>

_x000D_

_x000D_

_x000D_

Si cambias el indice en el selector :eq() veras como cambia el select seleccionado.

Suerte y Saludos!

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *