Иногда нужно отдать ajax-запросу набор данных, получив их их текстовых полей.
Например, задача. У нас есть интернет-магазин. На странице каталога перечислены товары. И рядом с каждым — текстовое поле «количество» и кнопка «купить». Задачу поставим таким образом: пользователь вводит в разные поля числа, сколько бы он хотел купить того или иного товара (пусть у нас будет оптовый магазин).
Посмотрим изнутри: у нас есть несколько полей:
.... ....
В квадратных скобках ID единиц товара. По нажатии кнопки нам надо перебрать все поля, и где значние value не равно 0 добавить в корзину (вопрос проверки существования этих позиций в корзине мы опустим).
Технически мы должны взять селектором все поля которые начинаются с quantity, перебрать их, и если value не равно нулю — добавить в массив, котрый мы отправим через ajax-запрос.
Вообщем — пример работающего кода (jquery, javascript):
var data = $('input:text[name*=quantity]'); $.each(data, function(key,object){ var name = object.name; i1 = name.indexOf("["); i2 = name.indexOf("]"); var id_val = name.substring(i1 + 1, i2); var quantity_val = object.value; }
Мы получаем и ID, и значение. Т.е. все то что нам нужно для проверки состояния корзины.