Если есть только один элемент ввода, я могу использовать:
$("input").val()
Я знаю, что .val() возвращает значение атрибута value первого совпадающего элемента.
Но что, если есть несколько входов?
«Но что, если есть несколько входов?» Что вы делаете хочу, когда есть несколько входов? Вы должны сообщить нам свои требования. Если вы хотите получить входное значение конкретный, то получите этот элемент по его идентификатору вместо поиска каждого тега input.
@Maor P, пожалуйста, мой ответ, я думаю, это подходит для того, что вы ищете
@BoffinbraiN Мне нужно назначить их разным переменным и проделать с ними всевозможные арифметические операции
@ChristopheDebove Спасибо!

Учитывая форму, это поможет вам получить все элементы ввода этой формы, а затем вы можете просто получить их значение.
$("form").each(function(){
$(this).find(':input') //<-- Should return all input elements in that specific form.
});
Самый простой способ - найти каждое значение в цикле:
$('input').each(function(i, value){
// i = index value for each input
// value = actual value
})
// значение = фактическое значение не соответствует действительности
Вы должны использовать псевдокласс css :nth-child, а затем получить первый элемент
https://developer.mozilla.org/fr/docs/Web/CSS/:nth-child
var element = $("input:nth-child(5n)").first();
$('input').each(function(i, inputElement){
console.info($(inputElement).val());
})
второй параметр не является значением inputElement, вам нужно снова обернуть его в $ () для работы с .val ()
В случае нескольких совпадений jQuery вернет массив совпадающих элементов (отсчитываемый от нуля).
Поэтому, если вы специально хотите получить доступ к значению 2-го входного элемента, вы можете сделать это следующим образом:
$("input")[1].value
Обратите внимание, что здесь вы обращаетесь к массиву элементов DOM, а не к объектам jQuery, поэтому вы не можете использовать .val(), но должны использовать свойство value элемента.
Чтобы получить объект jQuery n-го элемента, вы можете использовать селектор jQuery: eq () следующим образом:
$("input:eq(1)").val()
Хотя другие ответы на этот вопрос технически верны, разрабатывать формы и скрипты подобным образом - очень плохая практика. Он хрупкий, и его сложно обслуживать. Если количество полей ввода или порядок этих полей когда-либо изменится, ваш код сломается. Например, если позже вы решите добавить поле поиска в шаблон своего веб-сайта, индексы всех ваших полей ввода увеличатся на единицу и все сломают.
Я бы посоветовал вам использовать подход на основе имени или идентификатора к вашим полям формы, чтобы каждое из них служило четкой цели и могло быть легко найдено с помощью jQuery. Если у ваших полей формы уже есть имена (а они должны быть, если вы используете традиционную HTML-форму с помощью GET или POST), вы можете их использовать. Вы также можете дать им уникальные идентификаторы.
<input name = "Input1" id = "MyInput1" value = "" >
<input name = "Input2" id = "MyInput2" value = "" >
var input1 = $("#MyInput1").val(); // Get by ID
var input2 = $("[name=Input2]").val(); // Get by input's name
Если у вас есть несколько форм на страницу, то передовая практика снова немного изменится, но я уточню это, только если вам это нужно.
Я надеюсь, что это поможет вам увидеть более широкую картину и развить лучшие формы.
Согласовано. Мой ответ очень специфичен для вопроса о получении значения по порядковому номеру, но хороший дизайн должен назначать значимые уникальные идентификаторы ключевым элементам.
Просто и эффективно. Спасибо
вам, вероятно, придется зациклить их или найти способ более конкретно определить его.