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();


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();

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


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/


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();

1

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

$('#btnAddCat').click(function(){
        var eventCategory=$("input[name=txtCategory]").val();
        alert(eventCategory);
    });

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);
  });

0
let startDate = $('[name=daterangepicker_start]').val();
alert(startDate);

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.


-1

vous pouvez également utiliser le nom de la classe.

$(".yourclass").val();

La question consiste à obtenir de la valeur en utilisant le nom et non la classe.
newbdeveloper
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.