2011-03-13 12 views
29

Estoy tratando de obtener el valor de un campo de entrada de texto.jquery buscar clase y obtener el valor

el código HTML es:

<div id="start"> 
    <p> 
     <input type="text" class="myClass" value="my value" name="mytext"/> 
    </p> 
</div> 

El jQuery es:

var myVar = $("#start").find('.myClass').val(); 

El problema es que miVar se acerca indefinido. ¿Alguien sabe por qué?

Respuesta

43

Los selectores de clase llevan como prefijo un punto. Tu .find() falta para que jQuery piense que estás buscando <myClass> elementos.

var myVar = $("#start").find('.myClass').val(); 
+0

todavía no funciona. Voy a editar la pregunta. – Jason

+3

@Jason: es posible que desee publicar el código real. Tengo un presentimiento de que no es tan simple como parece. – BoltClock

+0

Su derecho. Esta es una versión diluida del código para simplificarlo. Parece que el concepto debería funcionar. – Jason

7

var myVar = $("#start").find('myClass').val();

necesidades sean

var myVar = $("#start").find('.myClass').val();

recordar las reglas selector CSS requieren "" si selecciona por nombre de clase. La ausencia de "." se interpreta como la búsqueda de <myclass></myclass>.

+0

Gracias por su ayuda. – Jason

12
var myVar = $("#start").find('.myClass').first().val(); 
1

Puede obtener el valor de identificación, nombre o valor de esta manera. nombre de clase my_class

var id_value = $('.my_class').$(this).attr('id'); //get id value 
var name_value = $('.my_class').$(this).attr('name'); //get name value 
var value = $('.my_class').$(this).attr('value'); //get value any input or tag 
Cuestiones relacionadas