Cómo obtener un valor de un elemento por nombre en lugar de ID

111

¿Cómo podría obtener el valor de un elemento por nombre en lugar de por ID, por ejemplo, si lo uso por ID sería $('#id').val();

Elitmiar
fuente
1
¿Qué quieres decir con 'nombre'?
Natrium
3
Pero, ¿a qué te refieres con "nombre"?
kjagiello
6
Creo que se refiere a <input id = "ID" name = "Name" type = "text" />, es decir, usando el nombre en lugar del campo id. Pero ese puede ser solo yo parafraseando con un ejemplo;)
Ed James
Puede usar cualquier selector de CSS allí (al menos no he encontrado una excepción)
muka.gergely

Respuestas:

316

Utilice el selector de atributos de nombre:

$("input[name=nameGoesHere]").val();
Nick Craver
fuente
3
También tenga en cuenta que no es necesario tener el tipo de elemento.
rfunduk
5
+1 para ti Nick, porque pudiste entender la pregunta.
kjagiello
4
@thenduks: Si bien esto es cierto ... el nombre generalmente se encuentra en las entradas, y esto hace que el selector sea mucho más rápido.
Nick Craver
solo una actualización de esto. El método dado por @NickCraver no funcionó para mí, sin embargo $ (": input [name = nameGoesHere]"). Val () funcionó en mi caso.
Gunnrryy
9

Utilice el selector de atributos de nombre:

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

Es un requisito obligatorio incluir comillas alrededor del valor, consulte: http://api.jquery.com/attribute-equals-selector/

viña
fuente
Solo quería señalar que en algunos casos (bueno, al menos el mío), no es necesario poner la parte de 'entrada'. Lo siguiente será suficiente ---> $ ("[name = 'nameGoesHere']"). Val () ;. Aunque estoy trabajando dentro de un paquete de Oracle. Estaba mirando esta publicación como referencia y no pude hacer que funcionara a menos que eliminara la 'entrada' de la declaración. En caso de que alguien más visite esta publicación como referencia y también esté trabajando con Oracle
usuario1898629
6

Para obtener el valor, podemos usar múltiples atributos, uno de ellos es el atributo de nombre . P.ej

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

También podemos usar otros atributos para obtener valores.

HTML

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

JS

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

Esto funciona bien ... aquí btnAddCat es la identificación del botón

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

¿Qué elemento se utiliza para la pieza con fondo verde? Simplemente escriba el nombre del elemento sin los caracteres "<" y ">". Por ejemplo, escriba P, no <P>si la respuesta es el <P>elemento.

Amira Ahmed
fuente
-1

también puede utilizar el nombre de la clase.

$(".yourclass").val();
ciberoot
fuente
La pregunta se trata de obtener valor usando el nombre, no la clase.
newbdeveloper hace