В вашем вопросе недостаточно важной информации.Во-первых, что конкретно представляет собой разметка HTML?У нас нет обозначений идентификатора, класса или аналога, чтобы сделать правильный селектор для извлечения желаемого значения.
Однако я постараюсь опубликовать соответствующийответьте на вопрос (ы), который у вас есть в этой связи, хотя я собираюсь использовать некоторые псевдо-нотации из-за этого недостатка информации.Общая суть должна быть применима к рассматриваемой проблеме.
Итак, вот так.
Из того, что мы можем истолковать из вашего скриншота, у вас есть элемент <select>
, содержащий некоторые параметры, которые вы можетехотел бы проанализировать функцию AJAX.Поскольку вы можете иметь несколько вариантов выбора (судя по кнопке «+»), самый простой способ - использовать функцию serialize()
(обратите внимание, что это нотация jQuery), чтобы сериализовать ваши входные данные в формат массива.Затем вам нужно будет перебрать этот массив везде, где вы решите обрабатывать данные, проанализированные с помощью функции AJAX.
Чтобы сериализовать ваши данные, вам понадобится элемент, содержащий вашивходные данные.Я предполагаю, что у вас уже есть элемент <form>
или аналогичный (элемент div также работает), который содержит ваши входные данные.
Этот элемент, содержащий ваши входные элементы, должен иметь id илианалогичный атрибут, так что у нас есть что-то, на что нужно ориентироваться в плане сериализации данных.
пример:
<div id="myForm">
<select class="mySelect">
<option>option1</option>
<option>option2</option>
<option>option3</option>
</select>
</div>
В приведенном выше примере у меня есть элемент div содержащий мой выбор (может быть несколько выборов, это не имеет значения).Я дал своему элементу div идентификатор с именем myForm .Теперь я могу использовать этот идентификатор в моем селекторе для нацеливания на этот элемент и сериализации данных внутри него (в данном случае, селектов).
Так что в моем случае мой селектор будет выглядеть так (в нотации jQuery):
$('#myForm').serialize();
.
Обратите внимание, что существует 2 способа сериализации данных, в зависимости от того, что вы хотите..serialize();
- это стандартный формат кодированных сериализованных URL-адресов.Другой вариант - .serializeArray();
, который дает вам объект JSON.Все зависит от того, с каким форматом данных вы хотите работать.
С этой информацией мы теперь можем перейти к самой функции AJAX.Обратите внимание, что я снова буду использовать нотацию jQuery.Мне действительно нравится нотация jQuery для функций AJAX, потому что ее легко читать и понимать.Также обратите внимание, что я буду использовать свои собственные указанные псевдо-нотации , чтобы сохранить преемственность в том, что я сейчас представляю в этом ответе.
Пример функции AJAX:
<script>
function submitData() {
$.ajax({
type : "POST",
url : "/your_page.php",
data : {
formData=$('#myForm').serialize()
},
success: function (html) {
//do something on success
}
})
}
</script>
Во-первых, в функции AJAX мы определяем, как наши данные будут анализироваться в опции type:
.Наиболее распространенными типами являются POST
и GET
.Вы можете посмотреть на различия между этими двумя методами анализа данных и определить, какая версия будет лучше для вашего решения.В вашей ситуации я бы предположил, что лучшим выбором будет использование POST .
Во-вторых, мы выбираем, куда будут отправляться данные (какая конкретно страница / URL).Это то место, куда будут отправляться данные, и где вы будете обрабатывать данные, чтобы делать с ними все, что вы хотите.
В-третьих, мы указываем данные, которые мы отправляем.Это восходит к тому, что я уже коснулся о селекторах и сериализации данных в массив, который вы можете перебрать, чтобы получить указанные результаты.
Наконец, я также включил функцию success , если вы хотите иметь некоторые дополнительные функции в случае успеха.Это может быть сообщение пользователю, информирующее его о том, что он действительно отправил данные для оценки или что вы хотите сделать.Вы можете оставить это полностью, но я лично считаю, что это хорошая функциональность.С этим можно многое сделать.
Обратите внимание, что я инкапсулировал саму функцию AJAX в другую функцию с именем submitData()
.Вы можете запустить это, имея атрибут onclick
на кнопке, которая отправляет данные.Вы также можете использовать функцию onclick для обработки функции AJAX, что было бы лучшим примером, если я полностью честен.$('#myButton').on("click", function() { //do the AJAX function });
.
Так вот как вы можете сделать это с помощью AJAX.Надеюсь, это поможет!