Como obter o valor de um elemento por nome em vez de ID

111

Como posso obter o valor de um elemento por nome em vez de por ID, por exemplo, se usar por id, seria $('#id').val();

Elitmiar
fonte
1
o que você quer dizer com 'nome'?
Natrium
3
Mas o que você quer dizer com "nome"?
kjagiello
6
Acho que ele quer dizer <input id = "ID" name = "Name" type = "text" />, ou seja, usando o nome em vez do campo id. Mas isso pode ser apenas eu parafraseando com um exemplo;)
Ed James
Você pode usar qualquer seletor de CSS lá (pelo menos não encontrei uma exceção)
muka.gergely

Respostas:

316

Use o seletor de atributo de nome:

$("input[name=nameGoesHere]").val();
Nick Craver
fonte
3
Observe também que não é necessário ter o tipo do elemento.
rfunduk de
5
1 para você Nick, porque você foi capaz de entender a pergunta.
kjagiello
4
@thenduks: Embora isso seja verdade ... o nome geralmente é encontrado nas entradas, e isso torna o seletor muito mais rápido.
Nick Craver
apenas uma atualização para isso. O método fornecido por @NickCraver não funcionou para mim, entretanto $ (": input [name = nameGoesHere]"). Val () funcionou no meu caso.
Gunnrryy
41
$('[name=whatever]').val()

A documentação do jQuery é sua amiga.

Rfunduk
fonte
9

Use o seletor de atributo de nome:

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

É um requisito obrigatório incluir aspas em torno do valor, consulte: http://api.jquery.com/attribute-equals-selector/

vinha
fonte
Eu só queria observar que em alguns casos (bem, pelo menos no meu), não há necessidade de colocar a parte 'entrada'. O seguinte será suficiente ---> $ ("[name = 'nameGoesHere']"). Val () ;. Embora, eu esteja trabalhando dentro de um pacote Oracle. Eu estava olhando este post para referência e não consegui fazê-lo funcionar a menos que removesse a 'entrada' da declaração. Apenas no caso de alguém visitar este post para referência e também estiver trabalhando com a Oracle
usuário 1898629
6

Para obter o valor, podemos usar vários atributos, sendo um deles o atributo name . Por exemplo

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

Também podemos usar outros atributos para obter valores

HTML

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

JS

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

Isso funciona bem .. aqui btnAddCat é o id do botão

$('#btnAddCat').click(function(){
        var eventCategory=$("input[name=txtCategory]").val();
        alert(eventCategory);
    });
Ajay Kumar
fonte
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
fonte
0
let startDate = $('[name=daterangepicker_start]').val();
alert(startDate);
Anormal
fonte
0

Qual elemento é usado para a peça com fundo verde? Basta digitar o nome do elemento sem os caracteres "<" e ">". Por exemplo, digite P, não <P>se a resposta for o <P>elemento.

Amira Ahmed
fonte
-1

você também pode usar o nome da classe.

$(".yourclass").val();
cyberoot
fonte
A questão é sobre como obter valor usando o nome, não a classe.
newbdeveloper