Передача данных через JQuery Ajax из нескольких выпадающих - PullRequest
0 голосов
/ 18 марта 2012

Всем: мне нужно отправить данные из 20 выпадающих списков в файл PHP. Как я могу сделать несколько циклов над ними, чтобы увидеть значения для всех из них? Спасибо тебе.

П.С .: В PHP я знаю, как пройти через них, чтобы получить данные ...

Ответы [ 2 ]

1 голос
/ 18 марта 2012

Если вам нужно создать массив значений, вы обязательно должны проверить метод serializeArray .Вы найдете отличный пример использования на той же странице, если немного прокрутите вниз.

1 голос
/ 18 марта 2012

Давайте возьмем этот HTML-код в качестве образца -

<div id="vanyov">
  <select>
    <option value="Beer"></option>
    <option value="Wine"></option>
    <option value="Water"></option>
    ...
  </select>
  <select>
    <option value="Steak"></option>
    <option value="Pizza"></option>
    ...
  </select>
  ...
</div>
<!-- I hope I put the right choices in here.
everyone cool with Beer and Pizza right? ;) -->

Вы можете использовать jQuery, чтобы вернуть все нужные вам элементы select, а затем проанализировать все из них, добавив их в объект JSON.

var valuesJSON = {};
$.each($("#vanyov select"),function(index,elem){
  valuesJSON[index] = $(elem).val();
});

Это добавит значения всех элементов <select> в элементе #vanyov.

Но что здесь происходит?Давайте посмотрим -

  • var valuesJSON = {} - Это сокращенный код для создания нового пустого объекта с именем valuesJSON.
  • $.each - Это функция jQuery, которая будет зацикливатьсяхотя все элементы вы даете.Массивы и объекты и особенно группы элементов, которые jQuery-селекторы возвращают.Существует также функция обратного вызова, которая передает каждый из найденных $.each элементов.
  • $("#vanyov select") - Здесь мы сообщаем jQuery, чтобы мы получили все элементы <select>, которые являются потомками #vanyov element.
  • valuesJSON[index] - Здесь мы добавляем новый элемент в JSON.Мы используем параметр index, потому что они здесь!Легко!Функция $.each предоставляет их.
  • $(elem).val() - Мы заключаем параметр elem в $(), чтобы преобразовать его в объект jQuery, а затем используем функцию val() для извлечения значения<option> элемент в выпадающем списке, который был выбран.

Затем отправьте ваш заказ с вызовом Ajax, возможно -

$.post('/ajax/lyubomir',valuesJSON,function(response){
  // Return values here
},"json");

Я надеюсь, что они скоро придут -После этого я умираю от голода ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...