web-dev-qa-db-fra.com

jquery trouve une classe et obtient la valeur

J'essaie d'obtenir la valeur d'un champ de saisie.

le HTML est:

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

Le jquery est:

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

Le problème est que myVar arrive indéfini. Quelqu'un sait-il pourquoi?

39
Jason

Les sélecteurs de classe sont précédés d'un point. Votre .find() manque, jQuery pense donc que vous cherchez <myClass> éléments.

var myVar = $("#start").find('.myClass').val();
59
BoltClock
var myVar = $("#start").find('.myClass').first().val();
15
user2907730

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

doit être

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

Rappelez-vous que les règles de sélecteur CSS exigent "." si sélection par nom de classe. L'absence de "." est interprété comme une recherche de <myclass></myclass>.

10
DuckMaestro

Vous pouvez également obtenir la valeur de la manière suivante

$(document).ready(function(){
  $("#start").click(function(){
    alert($(this).find("input[class='myClass']").val());
  });
});
1
David Guetta

Vous pouvez obtenir la valeur id, name ou value de cette façon. nom de classe 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
1
sandeep kumar