Comment obtenir une valeur d'un élément par son nom au lieu de son ID

111

Comment pourrais-je obtenir la valeur d'un élément par son nom plutôt que par son ID, par exemple si j'utilise par id, ce serait $('#id').val();

Elitmiar
la source
1
que voulez-vous dire par «nom»?
Natrium
3
Mais que voulez-vous dire par "nom"?
kjagiello
6
Je pense qu'il veut dire <input id = "ID" name = "Name" type = "text" />, c'est-à-dire en utilisant le nom au lieu du champ id. Mais c'est peut-être moi qui paraphrase avec un exemple;)
Ed James
Vous pouvez utiliser n'importe quel sélecteur CSS là-bas (au moins je n'ai pas rencontré d'exception)
muka.gergely

Réponses:

316

Utilisez le sélecteur d'attribut de nom:

$("input[name=nameGoesHere]").val();
Nick Craver
la source
3
Notez également que le type d'élément n'est pas nécessaire.
rfunduk
5
+1 pour toi Nick, parce que tu as compris la question.
kjagiello le
4
@thenduks: Bien que ce soit vrai ... le nom se trouve généralement sur les entrées, ce qui rend le sélecteur beaucoup plus rapide.
Nick Craver
juste une mise à jour à ce sujet. La méthode donnée par @NickCraver n'a pas fonctionné pour moi, cependant $ (": input [name = nameGoesHere]"). Val () a fonctionné dans mon cas.
Gunnrryy
41
$('[name=whatever]').val()

La documentation jQuery est votre ami.

rfunduk
la source
9

Utilisez le sélecteur d'attribut de nom:

$("input[name='nameGoesHere']").val();

Il est obligatoire d'inclure des guillemets autour de la valeur, voir: http://api.jquery.com/attribute-equals-selector/

vigne
la source
Je voulais juste noter que dans certains cas (enfin du moins le mien), il n'est pas nécessaire de mettre la partie 'input'. Ce qui suit suffira ---> $ ("[name = 'nameGoesHere']"). Val () ;. Bien que je travaille à l'intérieur d'un package Oracle. Je regardais ce post pour référence et je ne pouvais pas le faire fonctionner à moins que je supprime «entrée» de la déclaration. Juste au cas où quelqu'un d'autre visiterait ce post pour référence et travaillerait également avec Oracle
user1898629
6

Pour obtenir la valeur, nous pouvons utiliser plusieurs attributs, l'un d'eux étant l' attribut name . Par exemple

$("input[name='nameOfElement']").val();

Nous pouvons également utiliser d'autres attributs pour obtenir des valeurs

HTML

<input type="text" id="demoText" demo="textValue" />

JS

$("[demo='textValue']").val();
Anshul
la source
1

Cela fonctionne bien .. ici btnAddCat est l'identifiant du bouton

$('#btnAddCat').click(function(){
        var eventCategory=$("input[name=txtCategory]").val();
        alert(eventCategory);
    });
Ajay Kumar
la source
1
//name directly given
<input type="text" name="MeetingDateFrom">
var meetingDateFrom = $("input[name=MeetingDateFrom]").val();

//Handle name array
<select multiple="multiple" name="Roles[]"></select>
 var selectedValues = $('select[name="Roles[]"] option:selected').map(function() {
    arr.push(this.value);
  });
Jones
la source
0
let startDate = $('[name=daterangepicker_start]').val();
alert(startDate);
Anormal
la source
0

Quel élément est utilisé pour la pièce avec un fond vert? Tapez simplement le nom de l'élément sans les caractères "<" et ">". Par exemple, tapez P, pas <P>si la réponse est l' <P>élément.

Amira Ahmed
la source
-1

vous pouvez également utiliser le nom de la classe.

$(".yourclass").val();
cyberoot
la source
La question consiste à obtenir de la valeur en utilisant le nom et non la classe.
newbdeveloper