@Arh1diablo
Web мастер

Как собрать в один массив несколько переменных из input с одинаковыми ID?

Доброго времени суток, подскажите пожалуйста, есть скрытые инпуты на странице, пример :

<input id="id_imgs" type="hidden" value="28838">
<input id="id_imgs" type="hidden" value="28839">
<input id="id_imgs" type="hidden" value="28840">


есть еще поля ( инпуты и селекты с уникальным ID ), к ним я обращался очень просто ( для отправки по AJAX ), пример:
var home = $("#home").val();
    var room = $("select[name='room']").val();


Но как обратится к одинаковым ID и собрать данные в один массив, что бы передать в файл обработчика ума не могу дать, находил вот такой пример ( пробовал адаптировать под себя ) пример:
$("#id_imgs").each(function(){
        var id_imgs[0] = $(this).val();
    });

но знаний в JS не хватает, подскажите пожалуйста, как собрать данные с одинаковых ID в один массив для последующей отправки ?
  • Вопрос задан
  • 172 просмотра
Решения вопроса 4
GoodProject
@GoodProject
Верстальщик
Атрибут id

Задаёт стилевой идентификатор — уникальное имя элемента, которое используется для изменения его стиля и обращения к нему через скрипты. Идентификатор в коде документа должен быть в единственном экземпляре, иными словами, встречаться только один раз. (Источник)

Для этих целей хорошо подходит class
Ответ написан
@Asokr
Выше правильно написали. Задайте инпутам класс.
И соберите все в массив:
var id_imgs = [];
$(".id_imgs").each(function(){
        id_imgs[] = $(this).val();
    });
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
id действительно должен быть уникальным. Нельзя делать несколько элементов с однаковым id.

Disclaimer. Не делайте так:
Ответ написан
@alexalexes
Если наступить на горло веб стандарту, игнорируя условие уникальности, то к id нужно относиться как обычному атрибуту тега. Следовательно, для захвата всех элементов с одинаковым id в коллекцию нужно использовать селектор вида:
input[id="id_imgs"]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы