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


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

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


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/


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

1

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

$('#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

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.


-1

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

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

A questão é sobre como obter valor usando o nome, não a classe.
newbdeveloper
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.