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

111

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

Elitmiar
источник
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();
Anshul
источник
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
let startDate = $('[name=daterangepicker_start]').val();
alert(startDate);
Аномальный
источник
0

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

Амира Ахмед
источник
-1

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

$(".yourclass").val();
Cyberoot
источник
Вопрос в том, чтобы получить значение, используя имя, а не класс.
newbdeveloper