Как получить значение элемента по имени вместо ID


111

Как я могу получить значение элемента по имени, а не по идентификатору, например, если я использую по идентификатору, это будет $('#id').val();


1
что вы имеете в виду под словом "имя"?
Natrium

3
Но что вы имеете в виду под словом «имя»?
kjagiello

6
Я думаю, он имел в виду <input id = "ID" name = "Name" type = "text" />, т.е. использовал имя вместо поля id. Но это может быть просто перефразированием примера;)
Эд Джеймс

Вы можете использовать здесь любой селектор CSS (по крайней мере, я не встречал исключения)
muka.gergely

Ответы:


316

Используйте селектор атрибутов имени:

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

3
Также обратите внимание, что тип элемента указывать не обязательно.
rfunduk

5
+1 для тебя Ник, потому что ты смог понять вопрос.
kjagiello

4
@thenduks: Хотя это правда ... имя обычно встречается на входах, и это действительно делает селектор намного быстрее.
Ник Крейвер

просто обновление этого. Данный метод @NickCraver у меня не сработал, однако в моем случае сработал $ (": input [name = nameGoesHere]"). Val ().
Gunnrryy


9

Используйте селектор атрибутов имени:

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

Заключение значения в кавычки является обязательным требованием, см. Http://api.jquery.com/attribute-equals-selector/


Я просто хотел отметить, что в некоторых случаях (по крайней мере, в моем) нет необходимости помещать часть «ввод». Достаточно следующего ---> $ ("[name = 'nameGoesHere']"). Val () ;. Хотя я работаю внутри пакета Oracle. Я просматривал этот пост для справки и не мог заставить его работать, если не удалил «ввод» из оператора. На всякий случай, если кто-то еще посетит этот пост для справки и также работает с Oracle
user1898629 01

6

Чтобы получить значение, мы можем использовать несколько атрибутов, одним из которых является атрибут name . Например

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

Мы также можем использовать другие атрибуты для получения значений

HTML

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

JS

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

1

Это отлично работает .. здесь btnAddCat - идентификатор кнопки

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

Какой элемент используется для детали с зеленым фоном? Просто введите имя элемента без символов «<» и «>». Например, введите P, <P>если ответ - <P>элемент.


-1

вы также можете использовать имя класса.

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

Вопрос в том, чтобы получить значение, используя имя, а не класс.
newbdeveloper
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.