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


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

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/


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

1

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

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

¿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.


-1

también puede utilizar el nombre de la clase.

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

La pregunta se trata de obtener valor usando el nombre, no la clase.
newbdeveloper hace
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.